О фреймворке YII

Фундаментальные концепции Yii

~~~~~~~~~~~~

Модель-Представление-Контроллер (MVC)

Структура приложения Yii. Yii использует шаблон проектирования Модель-Представление-Контроллер (MVC, Model-View-Controller), который широко применяется в веб-программировании.

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

Помимо этого, Yii также использует фронт-контроллер, называемый приложением (application), который инкапсулирует контекст обработки запроса. Приложение собирает информацию о запросе и передает его для дальнейшей обработки соответствующему контроллеру.

Диаграмма справа отображает структуру приложения Yii.

~~~~~~~~~~~~

Процесс разработки и создания веб-приложений с использованием Yii

Предварительная подготовка:


Структура приложения Yii. 1. Создание структуры директорий. Утилита yiic (\yii\framework\yiic.bat) может быть использована для того, чтобы ускорить этот процесс.

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

3. Создание класса модели для каждого используемого типа данных. Для автоматической генерации всех интересующих вас моделей active record можно воспользоваться инструментом Gii, описанным в разделах «создание первого приложения» и «автоматическая генерация кода».

4. Создание класса контроллера для каждого типа пользовательского запроса. Классификация пользовательских запросов зависит от текущих требований. В общем случае, если класс модели используется пользователем, должен существовать соответствующий класс контроллера. Утилита Gii также может автоматизировать этот процесс.

5. Создание действий и их представлений. Именно здесь и делается основная работа.

6. Конфигурирование необходимых фильтров для действий в классах контроллеров.

7. Создание тем оформления при необходимости.

8. Перевод сообщений в случае, когда требуется локализация.

9. Выявление данных и представлений, которые могут быть закэшированы и применение соответствующих техник кэширования.

10. Настройка производительности и развёртывание.

Для каждого из представленых этапов может потребоваться создание и применение тестов.