我决定在我的一个PHP项目中使用ZF。但是我对如何在我的网站上添加管理模块感到非常困惑?我读了一些像这样的文章(http://www.amazium.com/blog/create-modular-application-with-zend)和许多其他文章。他们提出了一种不同的方法来做到这一点。我想知道 Zend 是否有任何标准方法(我敢肯定他们几乎每个站点都需要一个管理模块)??
或者有人可以建议有关如何在默认 zend 框架项目中添加管理模块的分步指南。
顺便说一句:我正在使用zend studio 9.0作为IDE(如果这很重要的话)。
我假设ZF 1.11:
在您的应用程序中.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');
}
如果您需要更改许多控制器中的大量布局,则可能需要控制器插件(不是我的经验领域)。