在 application 目錄下,新增 modules 目錄 (對照 application.ini 裡的設定)。
在modules 目錄下,新增各別的 modules 名稱,例如 admin,default 等。
在各別 module 目錄下(如 admin ),新增 controllers、models、views 三個目錄。
分別修改以下檔案:
開啟
\application\application.ini
加入
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" // 此目錄需對應上述實體目錄
resources.modules = ""
resources.frontController.defaultModule = "Default" // 如果是 default 下的 controller 可以不用加注
開啟
\application\bootstrap.php
確認 class 名稱為:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {}
加入
protected function _initFrontController() {
$front = Zend_Controller_Front::getInstance();
$front->setControllerDirectory(array(
'default' => APPLICATION_PATH . '/modules/Default/controllers',
'admin' => APPLICATION_PATH . '/modules/Admin/controllers'
));
return $front;
}
其中,
'default' => APPLICATION_PATH . '/modules/Default/controllers',
中的 default 為瀏覽器輸入的
http://you_web/default/index
中的 default , 而 admin 亦同,故可依自己的需求修改,後面的路徑亦需依實際路徑修改。
開啟 \application\modules\Default\bootstrap.php
確認 class 名稱為:
class Default_Bootstrap extends Zend_Application_Module_Bootstrap { }
開啟 \application\modules\Admin\bootstrap.php
確認 class 名稱為:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap { }
另外,由於 controller 如是 default 底下的 class,可以不加 default ,而其他,如本例中的 admin ,其 controller 就需要加上前綴。
例如:
\application\modules\admin\IndexController.php
中,的 class 名稱需為:
class Admin_IndexController extends Zend_Controller_Action { }
如果有其他的 controller ,亦需如此。
沒有留言:
張貼留言