Zend 定义管理和默认模块

Zend define admin and default modules

我正在编写一个具有管理模块和默认设置的应用程序 module.and 我想将所有管理文件(如控制器和视图)放在应用程序路径下的管理文件夹中,并将默认文件放在默认文件夹中。 我怎样才能做到这一点?这是它想要的目录结构

/application
  /models
  /default
  /admin

我会做类似下面的事情。

  1. 略微更改您的目录结构(添加 modules 级别):

    /application 
        /models
        /modules
            /default
                /controllers
                /models
                /views
                etc...
            /admin
                /controllers
                /models
                /views
                etc...
    
  2. 启用模块并告诉框架在哪里寻找它们;在 application/config/application.ini 中添加:

    resources.modules[] = ""
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    
  3. 从默认模块中分离 appnamespace,强制所有 module-specific 代码为 module-namespaced。在 application/config/application.ini 中添加:

    resources.frontController.prefixDefaultModule = true
    

    因此,例如,默认模块中的模型将出现在文件 ./application/modules/default/models/MyModel.php 中,并命名为 Default_Model_MyModel.

  4. 为您的 top-level 模型、控制器等启用应用命名空间。在 application/config/application.ini:

    appnamespace = "Application_"
    

    因此,一个 top-level 模型,供所有模块使用,在文件 ./application/models/MyModel.php 中将被命名为 Application_Model_MyModel.

没有经过全面测试,但按照这些思路应该可以工作。