Разница между модулями и расширением в Yii

Я хочу знать, в чем разница между модулями и компонентами в Yii Framework. Я так много гуглил, но не получил хороших результатов. Так может кто-нибудь поможет мне узнать это. Любая помощь и предложения будут весьма ценными.


person NewUser    schedule 08.12.2011    source источник


Ответы (3)


Модуль имеет структуру MVC. Модуль представляет собой автономную программную единицу. Модуль — это частный случай расширения. Расширение обычно служит для одной цели. С точки зрения Yii это можно классифицировать следующим образом:

  1. компонент приложения
  2. поведение
  3. виджет
  4. контроллер
  5. действие
  6. фильтр
  7. консольная команда
  8. валидатор: валидатор — это класс компонента, расширяющий CValidator.
  9. хелпер: хелпер — это класс только со статическими методами. Это похоже на глобальные функции, использующие имя класса в качестве своего пространства имен.
  10. модуль
  11. что-то другое
person Oleg    schedule 09.12.2011

Расширения на самом деле могут быть модулями, но иногда таковыми не являются. Модуль содержит модели, представления и контроллеры, а расширение может быть чем-то вроде виджета.

person brpyne    schedule 08.12.2011
comment
Расширение все равно не может быть модулем. - person Oleg; 09.12.2011
comment
Вот пример расширения, которое является модулем. yiiframework.com/extension/yii-user-management - person brpyne; 10.12.2011
comment
Мне жаль. Модуль - это частный случай расширения. - person Oleg; 10.12.2011

Я предполагаю, что расширение Yii находится в каталоге protected/extensions и для одной цели оно никогда не может быть модулем. Модули находятся в каталоге protected/modules. Эти расширения на официальном веб-сайте yii и расширения в инфраструктуре yii MVC не совпадают.

person zuo    schedule 10.12.2011