Yii использует шаблон проектирования Модель-Представление-Контроллер (MVC, Model-View-Controller), который широко применяется в веб-программировании.
MVC направлен на отделение бизнес-логики от пользовательского интерфейса, чтобы разработчики могли легко изменять отдельные части приложения не затрагивая другие. В архитектуре MVC модель предоставляет данные и правила бизнес-логики, представление отвечает за пользовательский интерфейс (например, текст, поля ввода), а контроллер обеспечивает взаимодействие между моделью и представлением.
Помимо этого, Yii также использует фронт-контроллер, называемый приложением (application), который выступает в роли контекста выполнения запроса. Приложение производит обработку запроса пользователя и передает его для дальнейшей обработки соответствующему контроллеру.
Следующая диаграмма отображает структуру приложения Yii:
Статическая структура приложения Yii
Следующая диаграмма описывает типичную последовательность процесса обработки пользовательского запроса приложением:
Типичная последовательность работы приложения Yii
http://www.example.com/index.php?r=post/show&id=1
,
а веб-сервер обрабатывает его, запуская выполнение скрипта инициализации index.php
;request
;urlManager
.
В данном примере контроллером будет post
, относящийся к классу PostController
, а действием - show
, суть которого
определяется контроллером;show
методу actionShow
в классе контроллера. Далее создаются и применяются фильтры
(например, access control, benchmarking), связанные с данным действием, и, если фильтры позволяют, действие выполняется;Post
с ID равным 1
;show
с данными модели Post
;Post
;
Signup or Login in order to comment.