Zend 定义管理和默认模块
Zend define admin and default modules
我正在编写一个具有管理模块和默认设置的应用程序 module.and 我想将所有管理文件(如控制器和视图)放在应用程序路径下的管理文件夹中,并将默认文件放在默认文件夹中。
我怎样才能做到这一点?这是它想要的目录结构
/application
/models
/default
/admin
我会做类似下面的事情。
略微更改您的目录结构(添加 modules
级别):
/application
/models
/modules
/default
/controllers
/models
/views
etc...
/admin
/controllers
/models
/views
etc...
启用模块并告诉框架在哪里寻找它们;在 application/config/application.ini
中添加:
resources.modules[] = ""
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
从默认模块中分离 appnamespace
,强制所有 module-specific 代码为 module-namespaced。在 application/config/application.ini
中添加:
resources.frontController.prefixDefaultModule = true
因此,例如,默认模块中的模型将出现在文件 ./application/modules/default/models/MyModel.php
中,并命名为 Default_Model_MyModel
.
为您的 top-level 模型、控制器等启用应用命名空间。在 application/config/application.ini
:
appnamespace = "Application_"
因此,一个 top-level 模型,供所有模块使用,在文件 ./application/models/MyModel.php
中将被命名为 Application_Model_MyModel
.
没有经过全面测试,但按照这些思路应该可以工作。
我正在编写一个具有管理模块和默认设置的应用程序 module.and 我想将所有管理文件(如控制器和视图)放在应用程序路径下的管理文件夹中,并将默认文件放在默认文件夹中。 我怎样才能做到这一点?这是它想要的目录结构
/application
/models
/default
/admin
我会做类似下面的事情。
略微更改您的目录结构(添加
modules
级别):/application /models /modules /default /controllers /models /views etc... /admin /controllers /models /views etc...
启用模块并告诉框架在哪里寻找它们;在
application/config/application.ini
中添加:resources.modules[] = "" resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
从默认模块中分离
appnamespace
,强制所有 module-specific 代码为 module-namespaced。在application/config/application.ini
中添加:resources.frontController.prefixDefaultModule = true
因此,例如,默认模块中的模型将出现在文件
./application/modules/default/models/MyModel.php
中,并命名为Default_Model_MyModel
.为您的 top-level 模型、控制器等启用应用命名空间。在
application/config/application.ini
:appnamespace = "Application_"
因此,一个 top-level 模型,供所有模块使用,在文件
./application/models/MyModel.php
中将被命名为Application_Model_MyModel
.
没有经过全面测试,但按照这些思路应该可以工作。