[英]module configuration in zend framework
我正在Zend Framework中使用多模塊CMS。 我想創建一個這樣的結構:
testsite/
index.php
library/
zend/
test/
application/
configs/
application.ini
modules/
users/
controllers/
models/
....
frontend/
controllers/
models/
....
backend/
controllers/
models/
...
bootstrap.php
我創建了以下代碼:
//in application.ini
resources.frontController.defaultModule = "frontend"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
resources.frontController.plugins.init = "Test_Controller_Plugin_Initializer"
//in bootstrap.php
protected function _initControllers()
{
$this->bootstrap('frontController');
$this->_front = $this->getResource('frontController');
$this->_front->addControllerDirectory(APPLICATION_PATH . '/backend/controllers', 'backend');
$this->_front->addControllerDirectory(APPLICATION_PATH . '/frontend/controllers', 'frontend');
}
//in Test/controllers/plugin/initializer.php
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$front = Zend_Controller_Front::getInstance();
$request = $front->getRequest();
$request->setModuleName('frontend');
$request->setControllerName('index');
$request->setActionName('index');
}
當我轉到基本URL .../testsite
時,它不起作用。 您能告訴我哪里出了問題嗎?
您是否嘗試過將模塊放在modules目錄中? 即:
testsite/
index.php
library/
zend/
test/
application/
configs/
application.ini
modules/
users/
controllers/
models/
....
frontend/
controllers/
models/
....
backend/
controllers/
models/
...
bootstrap.php
Wif通常是zf期望找到其模塊的位置。 您可能必須調整rapplication.ini設置才能反映出來。
要使它起作用,您希望它如何引用Zend_Application_Resource_Frontcontroller
具體來說,您需要將'module'=>'controller'目錄對的數組傳遞給resources.frontController.controllerDirectory
。
controllerDirectory:指定單個控制器目錄的字符串值,或模塊到控制器目錄對的數組。
我懷疑這是否可以解決所有問題,但應該朝正確的方向前進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.