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',
));
}
這是我目前找到的解決方案,在基於原有的基礎之上作最少的改動