Понимание процесса загрузки Zend Framework и загрузки ресурсов из application.ini - PullRequest
6 голосов
/ 20 февраля 2012

Я довольно хорошо знаком с деталями Zend Framework и с тем, как работает большинство вещей. Одна область, которую я до сих пор не до конца понимаю, это способ, которым Zend Framework загружает ресурсы из application.ini.

Я понимаю, что могу создавать свои собственные защищенные функции _init, и они будут вызываться автоматически во время начальной загрузки.

Документация Zend Framework отсутствует в некоторых областях.

Например: как и когда загружаются параметры конфигурации resources.db? У меня нет ничего в моей начальной загрузке, что говорит о БД. Это загружается по требованию или фактически во время процесса начальной загрузки?

Любые ссылки, объясняющие это, были бы очень полезны.

1 Ответ

10 голосов
/ 20 февраля 2012

Ваш класс начальной загрузки в конечном счете наследуется от Zend_Application_Bootstrap_BootstrapAbstract. Метод bootstrap() в этом классе сначала ищет методы класса с префиксом _init и запускает их. Затем он ищет подключаемые модули ресурсов, которые заполняются частью 'resources' массива параметров. Массив параметров поступает из конфигурации, переданной в Zend Application, обычно из файла application.ini.

Подключаемые модули ресурсов сопоставляются с классом в файловой системе. Таким образом, resources.db по умолчанию создаст экземпляр Zend_Application_Resource_Db и запустит его (который, в свою очередь, устанавливает соответствующие вещи в БД). Полный список встроенных ресурсов здесь: http://framework.zend.com/manual/en/zend.application.available-resources.html

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

Существует достаточно подробный обзор того, как все это сочетается в документах: http://framework.zend.com/manual/en/zend.application.theory-of-operation.html,, но вам не нужно знать подробности, если ваши требования не являются немного индивидуальными .

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