现在忽略关于框架/控制器数量的讨论是过分的。您的脚本/css 失败的原因确实是路径问题。如果您正在使用布局助手,那么您应该在视图中使用 headLink 和 headScript 对象。
这是我在开发时设置所需的脚本和 css 文件的首选方式。
引导程序.php
protected function _initView()
{
// Initalise the view
$view = new Zend_View();
$view->doctype('HTML5');
// Get config options for the UI
$ui = $this->getApplication()->getOption('ui');
$view->headTitle($ui['title']);
foreach ($ui['stylesheet'] as $stylesheet) {
$view->headLink()->appendStylesheet($stylesheet);
}
foreach ($ui['script'] as $script) {
$view->headScript()->appendFile($script);
}
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);
return $view;
}
配置/应用程序.ini
ui.title = "My Awesome Web App"
ui.stylesheet[] = "/extjs/resources/css/ext-all.css"
ui.stylesheet[] = "/resources/css/hod.css"
ui.stylesheet[] = "/resources/css/icons.css"
ui.stylesheet[] = "/resources/bootstrap/css/bootstrap.css"
ui.script[] = "extjs/ext-debug.js"
ui.script[] = "app.js"
布局/default.phtml
<?php echo $this->doctype(); ?>
<html>
<head>
<?php
echo $this->headTitle();
echo $this->headMeta();
echo $this->headStyle();
echo $this->headScript();
echo $this->headLink();
?>
</head>
<body>
<?php echo $this->layout()->content; ?>
</body>
</html>
这允许您在开发模式下设置您需要的所有脚本,并在配置中设置生产中的缩小脚本,而无需编写任何额外的代码。
回到矫枉过正的问题。我认为即使您没有与数据库的连接以及应用程序中的所有花里胡哨,从维护的角度来看,使用框架仍然是最好的方法(一旦您掌握了) 如果您的页面超过 5 或 6 页。除非您的网站将看到大量流量并且每个字节或毫秒都很重要,否则我认为降低框架增加的小开销的可维护性没有意义。
同样的逻辑也适用于我的控制器。当它们有助于明确划分工作功能时,我不明白为什么要减少它们的数量。另外,除非您更改路由器 site.com/index/about 看起来比 site.com/about 更丑 :)