我正在编写一个具有管理模块和默认模块的应用程序。我想将管理员文件夹中的所有管理文件(如控制器和视图)放在应用程序路径下,并将默认文件放在默认文件夹中。 我怎么能做到这一点?这是它想要的目录结构
/application
/models
/default
/admin
答案 0 :(得分:1)
我会做类似以下的事情。
稍微更改目录结构(添加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
,强制所有特定于模块的代码为模块命名空间。在application/config/application.ini
中,添加:
resources.frontController.prefixDefaultModule = true
因此,例如,默认模块中的模型将显示在文件./application/modules/default/models/MyModel.php
中,并将命名为Default_Model_MyModel
。
为您的顶级模型,控制器等启用appnamespace。application/config/application.ini
:
appnamespace = "Application_"
因此,文件./application/models/MyModel.php
中可供所有模块使用的顶级模型将命名为Application_Model_MyModel
。
没有经过全面测试,但这些方面应该有所作为。