Розширення Yii
Розширення функціоналу Yii - стандартна практика у процесі розробки. Наприклад, для написання нового контролера, вам необхідно розширити Yii шляхом успадкування його класу CController; для написання віджету - класа CWidget або класу вже існуючого віджету. Якщо дописаний код оформлений для використання сторонніми розробниками, ми називаємо його розширенням (extension).
Як правило, кожне розширення служить лише для однієї мети. Використовуючи термінологію, прийняту в Yii, розширення можна класифікувати наступним чином:
- компонент додатка;
- поведінка;
- віджет;
- контролер;
- дія;
- фільтр;
- команда консолі;
- валідатор: компонент, що успадковує клас CValidator;
- помічник: клас, який містить лише статичні методи, схожий із глобальної функцією, що використовує імʼя класу в якості простору імен;
- модуль: самодостатня програмна одиниця, що складається з моделей, дій, контролерів та необхідних компонентів. Модуль багато в чому схожий з додатком. Основна відмінність полягає в тому, що модулі входять до складу додатка. Наприклад, у нас може бути модуль, який реалізує функціонал управління користувачами.
Втім, розширення може і не відповідати ні одній із перерахованих категорій. Yii спочатку був спроектований таким чином, щоб будь-яку його частину можна було змінити і доповнити для будь-яких потреб.