я создаю 3 модуля для моего проекта
как это:
приложение / модуль / админ
приложение / модуль / по умолчанию
приложение / модуль / ошибка
каждый модуль имеет свой cnotroller, view, layout folder. в модуле по умолчанию все правильно, но когда я зашел в модуль администратора, я увидел эту ошибку (www.domain.com/public/admin)
Неустранимая ошибка: необработанное исключение 'Zend_Controller_Dispatcher_Exception' с сообщением 'Неверный класс контроллера ("Error_ErrorController") "в E: \ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standard.php: 347 Трассировка стека: # 0 E : \ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standard.php (256): Zend_Controller_Dispatcher_Standard-> loadClass ('ErrorController') # 1 E: \ xampp \ php \ PEAR \ Zend \ Controller \ Front.php (946 ): Zend_Controller_Dispatcher_Standard-> dispatch (Объект (Zend_Controller_Request_Http), Объект (Zend_Controller_Response_Http)) # 2 E: \ zend_progamming \ donyaye_fan_zend \ application \ Bootstraont: файл_приложения_3: \\\ {\\\> public \ index.php (5): Bootstrap-> runApp () # 4 {main}, брошенный в E: \ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standard.php в строке 347
это мой загрузочный код, связанный с этой ошибкой:
$frontController->addModuleDirectory(ROOT_DIR . '/application/modules');
$frontController->setDefaultModule('default');
$frontController->registerPlugin(new Places_Controller_Plugin_ModuleSetup());
$frontController->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(array(
'module' => 'error',
'controller' => 'error',
'action' => 'error'
)));
и это мой класс modulesetup:
class Places_Controller_Plugin_ModuleSetup extends Zend_Controller_Plugin_Abstract{ public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
// Set the layout directory for the loaded module
$layoutPath = ROOT_DIR . '/application/modules/' . $request->getModuleName() . '/layouts/scripts/';
Zend_Layout::startMvc(array('layoutPath' =>$layoutPath));
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => ROOT_DIR . "/modules/",
));
$autoloader->addResourceTypes(array(
'admin' => array(
'path' => 'admin/',
'namespace' => 'admin'
),
'error' => array(
'path' => 'error/',
'namespace' => 'error')));
}
} * * тысяча двадцать-один