- Начало
- Основы
- Работа с формами
- Работа с БД
- Кэширование
- Расширение Yii
- Тестирование
- Специальные темы
- Автоматическая генерация кода
- Управление URL
- Аутентификация и авторизация
- Темы оформления и скины
- Журналирование
- Обработка ошибок
- Веб-сервисы
- Интернационализация (I18N)
- Альтернативный язык шаблонов
- Консольные приложения
- Безопасность
- Улучшение производительности
- Генерация кода при помощи консоли (устаревшее)
Расширение Yii
Расширение функционала Yii — стандартная практика в процессе разработки. Например, для написания нового контроллера, вам необходимо расширить Yii путем наследования его класса CController; для написания виджета — класса CWidget или класса уже существующего виджета. Если дописанный код оформлен для использования сторонними разработчиками, мы называем его расширением (extension).
Как правило, каждое расширение служит только для одной цели. Используя терминологию, принятую в Yii, расширения можно классифицировать следующим образом:
- компонент приложения;
- поведение;
- виджет;
- контроллер;
- действие;
- фильтр;
- команда консоли;
- валидатор: компонент, наследующий класс CValidator;
- помощник: класс, содержащий только статические методы, схожий с глобальной функцией, использующей имя класса в качестве пространства имен;
- модуль: самодостаточная программная единица, состоящая из моделей, действий, контроллеров и необходимых компонентов. Модуль во многом схож с приложением. Основное отличие состоит в том, что модули входят в состав приложения. Например, у нас может быть модуль, реализующий функционал управления пользователями.
Впрочем, расширение может и не соответствовать ни одной из перечисленных категорий. Yii изначально был спроектирован таким образом, чтобы любую его часть можно было изменить и дополнить для любых нужд.
