Расширение Yii - это общая деятельность во время разработки. Например, когда вы пишете новый контроллер, вы расширяете Yii, наследуя его класс CController; когда вы пишете новый виджет, вы расширяете CWidget или существующий класс виджетов. Если расширенный код предназначен для повторного использования сторонними разработчиками, мы называем его расширением.
Расширение обычно служит для одной цели. В терминах Yii его можно классифицировать следующим образом,
application component
behavior
widget
action
filter
controller
validator: валидатор - это класс компонентов, расширяющий CValidator.
консольная команда
модуль: модуль представляет собой автономный программный модуль, состоящий из моделей, представлений, контроллеров и других поддерживающих компонентов. Во многих аспектах модуль похож на приложение. Основное различие заключается в том, что модуль находится внутри приложения. Например, у нас может быть модуль, который обеспечивает функции управления пользователями.
helper: хелпер - это класс с только статическими методами. Это похоже на глобальные функции, использующие имя класса как пространство имен.
Расширение также может быть компонентом, который не попадает ни в одну из вышеуказанных категорий. На самом деле Yii тщательно разработан таким образом, что почти каждый фрагмент его кода может быть расширен и настроен под индивидуальные потребности.