1

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

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

顺便说一句:我使用 zend studio 9.0 作为 IDE(如果重要的话)..

4

1 回答 1

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 Tool 命令来完成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');
    }

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

于 2012-04-22T08:13:30.430 回答