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


can any one suggest a step by step guide to add admin module in default zend framework project?

我决定在我的一个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');
    }

如果您需要更改许多控制器中的大量布局,则可能需要控制器插件(不是我的经验领域)。