我决定将ZF用于我的一个PHP项目。但我对如何在我的网站上添加管理模块感到很困惑?我读了一些像这样的文章(http://www.amazium.com/blog/create-modular-application-with-zend)等等。他们提出了一种不同的方式。 我想知道Zend是否有任何标准方法(我相信他们几乎每个网站都需要一个管理模块)?
或者有人可以建议一步一步指导如何在默认的zend框架项目中添加管理模块。
BTW:我使用zend studio 9.0作为IDE(如果重要的话)..
答案 0 :(得分:3)
我假设ZF 1.11:
你的application.ini中的确保这些行在这里(可能有点过了杀,但它有效):
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.params.prefixDefaultModule = ""
resources.modules = ""
你的路径应该是这样的:
/application
/configs
/controllers
/forms
/layouts
/models
/modules
/admin
/controllers
/models
/forms
/views
/filters
/helpers
/scripts
Bootstrap.php //in your admin folder bootstrap extends Zend_Application_Module_Bootstrap
/views
Bootstrap.php //application level bootstrap
/docs
/library
/public
除了引导程序之外的路径要求可以通过运行ZF工具命令来完成zf create module admin
要记住的重要一点是每个模块都需要一个Bootstrap.php文件。这有助于(除其他外)自动加载器。
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
//put your code here
}
这就是模块引导所需的全部内容。
[编辑] 为控制器(例如管理员)选择不同的布局(创建第二个布局),每个控制器都有简单的方法:
public function preDispatch() {
$this->_helper->layout->setLayout('admin');
}
如果你需要在很多控制器中更改大量布局,你可能需要一个控制器插件(不是我的经验领域)。