任何人都可以建议在默认的zend框架项目中添加管理模块的分步指南?

时间:2012-04-22 07:45:17

标签: php zend-framework zend-studio

我决定将ZF用于我的一个PHP项目。但我对如何在我的网站上添加管理模块感到很困惑?我读了一些像这样的文章(http://www.amazium.com/blog/create-modular-application-with-zend)等等。他们提出了一种不同的方式。 我想知道Zend是否有任何标准方法(我相信他们几乎每个网站都需要一个管理模块)?

或者有人可以建议一步一步指导如何在默认的zend框架项目中添加管理模块。

BTW:我使用zend studio 9.0作为IDE(如果重要的话)..

1 个答案:

答案 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');
    }

如果你需要在很多控制器中更改大量布局,你可能需要一个控制器插件(不是我的经验领域)。