Как работает загрузка модуля для модуля по умолчанию?
-
23-09-2019 - |
Вопрос
Я настроил свое приложение с двумя модулями: один для администратора, а другой для остальной части приложения, называемого по умолчанию.Затем я создал файл начальной загрузки для модуля администратора, и когда я попытался установить загрузочный файл для модуля по умолчанию, у меня возник бесконечный цикл, и мой apache аварийно завершился.
Я не уверен, что полностью понимаю динамику начальной загрузки.Первоначально я пытался загрузить свой модуль по умолчанию, чтобы получить доступ к моим формам внутри его папки.Но это сработает только в том случае, если я настрою его в загрузочном файле, расположенном в корне приложения (application/bootstrap.php), следующим образом:
$moduleLoader->addResourceType('form','modules/default/forms/','Form');
Я сделал что-то не так?
Решение
Похоже, в Zend была открыта ошибка/улучшение для решения этой проблемы.Соответствующая цитата из ошибки:
Причина, по которой модуль по умолчанию пропускается, заключается в том, что документированный вариант использования (в частности, как мы настраиваем приложение в Zend_Tool) заключается в том, что модуль по умолчанию находится непосредственно под application/ и содержит загрузочную загрузку приложения.Если мы затем разрешим загрузку начальной загрузки модуля по умолчанию...мы попадаем в рекурсивный цикл.
Ошибка устранена, поэтому вам, возможно, просто нужно обновить Zend Framework до последней версии.
Другие советы
ZF по какой-то странной причине загружает все загрузочные модули по одному запросу (даже если модули не запрашиваются)
Так что, возможно, у вас есть конфликты с администратором и модулем по умолчанию.
Для загрузки модулей также добавьте в свой .ini
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
И Bootstrap.php
сорт Modulename_Bootstrap
простирается Zend_Application_Module_Bootstrap{}