Изменить Zend Framework Модуль по умолчанию
Я работаю над проектом и имею следующий макет проекта:
|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
Кто-нибудь может увидеть, где я иду не так?
Мое приложение /Bootstrap.php файл:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}
Файл моего приложения /Core/Bootstrap.php:
class Core_Bootstrap extends Zend_Application_Module_Bootstrap
{
}
2 ответа
Не 100% на это, но если вы удалите следующую строку:
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
это может решить проблему. Если я не ошибаюсь, так как вы используете модули, установка этого приведет к ошибке.
Похоже, вам не хватает одной строки из вашего application.ini:
resources.frontController.params.prefixDefaultModule = ""
Попробуйте использовать его таким образом, и посмотрите, работает ли он. Я думаю, это просто говорит приложению, что при использовании модулей модуль с именем "default" не имеет префикса.
Хотя я могу ошибаться, поэтому вам, возможно, придется поэкспериментировать.
Хорошо, может быть, две строки отсутствуют:)
resources.frontController.moduleControllerDirectoryName = "controllers"