Не могу найти контроллер модуля - PullRequest
0 голосов
/ 07 декабря 2011

Я пытаюсь настроить модуль в первый раз, и у меня возникает эта ошибка:

Exception information:

Message: Invalid controller specified (index)
Stack trace:

#0 C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Controlle\Front.php(954):   Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),  Object(Zend_Controller_Response_Http))
#1 C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 C:\Program Files (x86)\Zend\Apache2\htdocs\dev.paygiant.com\public\index.php(30):  Zend_Application->run()
#4 {main}  

Request Parameters:
array (
  'module' => 'admin',
  'controller' => 'index',
  'action' => 'index',
)  

Каталог моих приложений:

configs/
controllers/
modules/
    Admin/
        controllers/
            IndexController.php
        models/
        views/

Контроллер индекса администратора:

<?php

class IndexController extends Zend_Controller_Action {

public function init()
{
   // 
}

public function indexAction()
{
    // action body
}
}

Мой файл application.ini содержит:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = 

в моем файле начальной загрузки:

public function _initModuleLoaders()
{
    $this->bootstrap('Frontcontroller');

    $fc = $this->getResource('Frontcontroller');
    $modules = $fc->getControllerDirectory();

    foreach ($modules AS $module => $dir) {
        $moduleName = strtolower($module);
        $moduleName = str_replace(array('-', '.'), ' ', $moduleName);
        $moduleName = ucwords($moduleName);
        $moduleName = str_replace(' ', '', $moduleName);

        $loader = new Zend_Application_Module_Autoloader(array(
            'namespace' => $moduleName,
            'basePath' => realpath($dir . "/../"),
        ));
    }
}

Что я делаю не так?

1 Ответ

1 голос
/ 07 декабря 2011

Вам больше ничего не нужно в главном Bootstrap.php для модулей.

Вам, однако, нужен Bootstrap.php в каталоге каждого модуля. В вашем случае это будет каталог modules / Admin.

Этот новый Bootstrap.php должен содержать следующее:

<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
}

Я также считаю, что каталоги модулей должны начинаться со строчной буквы, а ваши - с заглавной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...