Какая функциональность должна входить в модули Zend Framework? - PullRequest
4 голосов
/ 31 декабря 2010

Я немного озадачен модулями Zend Framework. Я имею в виду - я понимаю, что вы обычно хотели бы иметь внешний и внутренний модули ... верно?

Но - Что бы вы еще поделили на модули?

Может ли кто-то, кто профессионально использует Zend Framework, привести пример того, какие модули они имеют в своем приложении?

Ответы [ 2 ]

3 голосов
/ 31 декабря 2010

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

  • Основное приложение (логин пользователя, начальная загрузка приложения и т.* News
  • Панель администратора
  • Галерея изображений

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

2 голосов
/ 01 января 2011

В дополнение к ответам Daffs мы могли бы попытаться выяснить некоторые рекомендации для выбора между «контроллером» или «модулем» для реализации определенного набора функций. Пожалуйста, помогите сделать этот список всеобъемлющим, комментируя или редактируя:

Когда использовать «контроллер»:

  • при значительной зависимости различных моделей одного и того же модуля
  • при значительной степени взаимодействия с другими контроллерами того же модуля
  • когда функциональность может быть покрыта несколькими методами / действиями
  • когда функциональность - это просто набор подчиненных функций данного модуля
  • когда функциональность легко поддерживается вместе с остальной частью кода (управление версиями, развертывание, ...)

Когда использовать «модуль»:

  • когда нет или почти нет зависимостей от основных модулей контроллеров и моделей
  • когда набор функций можно рассматривать как отдельное (под) приложение
  • когда функциональность не может быть покрыта несколькими методами / действиями и поэтому должна быть разбита на несколько контроллеров
  • когда управление версиями и развертывание требует независимости от основного модуля
...