Изменить Zend Framework Модуль по умолчанию - PullRequest
4 голосов
/ 27 января 2012

Я работаю над проектом и имею следующий макет проекта:

|Project
    |-Application
        |-api
        |-configs
        |-controllers
        |-models
        |-modules
            |-core
                |-controllers
                |-models
                |-views
                |-Bootstrap.php
            |-site1
            |-site2
            |-site3
        |-views
        |-Bootstrap.php
    |-Docs
    |-Library
    |-Public
    |-.zfproject.xml

Я использовал это в моем application.ini, чтобы попытаться установить для модуля default модуль core:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.frontController.defaultModule = "core"
resources.frontController.defaultControllerName = "Index"
resources.frontController.defaultAction = "index"

resources.modules[] = ""

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

Неустранимая ошибка: необработанное исключение 'Zend_Application_Resource_Exception' с сообщением 'Найден файл начальной загрузки для модуля "default", но начальная загрузка класс "Default_Bootstrap" не найден в M: \ Zend_Framework \ library \ Zend \ Application \ Resource \ Modules.php в линия 85

Префикс этой ошибки:

Zend_Application_Resource_Exception: найден файл начальной загрузки для модуля "default", но класс начальной загрузки "Default_Bootstrap" не найден в M: \ Zend_Framework \ library \ Zend \ Application \ Resource \ Modules.php в линия 85

Кто-нибудь может увидеть, где я иду не так?

Файл My Application / Bootstrap.php:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}

Мое приложение / Core / Bootstrap.php файл:

class Core_Bootstrap extends Zend_Application_Module_Bootstrap 
{   
}

Ответы [ 2 ]

6 голосов
/ 27 января 2012

Не на 100%, но при удалении следующей строки:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

, которая может решить проблему. Если я не ошибаюсь, поскольку вы используете модули, установка этого приведет к ошибке.

0 голосов
/ 27 января 2012

Похоже, вам не хватает одной строки из вашего application.ini:

resources.frontController.params.prefixDefaultModule = ""

Попробуйте использовать его таким образом и посмотрите, работает ли он, я думаю, это просто говорит приложению, что при использовании модулей модуль с именем 'default' не имеет префикса.Хотя я могу ошибаться, поэтому вам, возможно, придется экспериментировать.Хорошо, может быть, две строки отсутствуют :)

resources.frontController.moduleControllerDirectoryName = "controllers"
...