ZF的quickstart的案例不是模块化的,Zend网站也有关于模块化布局的说明,但是看了却不知道怎么用,然后摸索了好一陈,查了好多资料(现在中文网站对ZF方面的讨论比较少,而且基本上都是停留在1.9版本以前的,现在的版本有较大的调整,据说2.0会有更大的改动,国外对这方面的讨论还是有一些)
单模块布局目录:
application/
configs/
controllers/
models/
views/
Bootstrap.php
单模块布局的application.ini配置:
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
Bootstrap:
protected function _initAutoload()
{
$moduleLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH));
return $moduleLoader;
}
多模块布局目录:
application/
Bootstrap.php
configs/
modules/
default/
controllers/
models/
views/
admin/
controllers/
models/
views/
多模块布局的application.ini配置:
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules/"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.defaultModule = "default"
Bootstrap:
protected function _initAutoload()
{
$default_autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Default',
'basePath' => APPLICATION_PATH . '/modules/default',
));
$admin_loader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Admin',
'basePath' => APPLICATION_PATH . '/modules/admin',
));
}
这是我目前找到的解决方案,在基于原有的基础之上作最少的改动