Есть ли у модульного подхода Zend Framework хорошая логика? - PullRequest
1 голос
/ 24 февраля 2010

Zend Framework довольно быстро развивается, мы все согласны, и мы все были удивлены, когда опробовали модульную структуру Zend Framework, если быть точным при начальной загрузке модулей - все файлы начальной загрузки модулей выполняются вначало независимо от того, используем мы этот модуль или обращаемся к нему или нет.Насколько я помню, модуль начальной загрузки исполняется как плагин для основной начальной загрузки.Но с другой стороны, я считаю, что реализация ZF очень сложна и написана с большим уважением к шаблонам проектирования.

Поэтому, прежде чем перейти и наткнуться на модуль Lazy Load / Bootstrap, я хотел бы иметь объективную мысль о начальной загрузкеаспект

- Так есть ли в начальной загрузке модуля в ZF логичная логика или ее следует заменить на что-то вроде отложенной загрузки по требованию?

Iвопрос знаю довольно неявный, поэтому позвольте мне дать еще несколько

например, в модульном приложении мы хотим иметь отдельные начальные конфигурации для каждого модуля (например, отдельную разметку), а начальная загрузка является парадигмой для "место для начальной настройки ", верно?Но если мы поместим инициализацию / конфигурации так, как говорит Zend Documentation, то наше приложение загружает все инициализации, которые были настроены в каждом классе начальной загрузки каждого модуля для каждого запроса. (Я просто гость и все еще, когда я запрашиваю что-то для начальной загрузки администратора)будет выполняться, хотя в фоновом режиме) - это в значительной степени разрушает систему.

Насколько я понимаю, есть два пути, по которым идея может протекать

  1. , чтобы иметь в модуле самонастраиваемые вещи, которые дополняют всю систему (в значительной степени не вижучто это может быть)
  2. Чтобы изменить способ загрузки модулей при помощи плагина помощи Action или расширения класса Bootstrap, который занимается загрузкой модулей начальной загрузки

И мой первый вопрос был тамЕсть ли логика, чтобы следовать за первым вариантом, и будет ли второй вариант хорошим выбором?

1 Ответ

1 голос
/ 25 февраля 2010

Да. Это основано на процессе отправки. Вы не можете сказать, какой из них вам понадобится во время начальной загрузки. У модулей начальной загрузки модулей есть одно преимущество - вам не нужно вставлять код модуля в основной загрузчик - это делает модули более «автономными».

Модуль зависит от

  • запрос
  • выбранный маршрут
  • если например _forward () был вызван

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

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

...