Skip to content

Latest commit

 

History

History
35 lines (33 loc) · 4.35 KB

README.md

File metadata and controls

35 lines (33 loc) · 4.35 KB

Yii2 MVC Framework

M - Модель

V - Вид

C - Контроллер

Но первым вызывается Контроллер, и идут они в там порядке: C->M->V

1. Пользователь набирает запрос, ну или переходит по ссылке в браузер

2. Загружается конфигурация и запускается приложение фрэйворка. (Запрос пользователя попадает в **входной скрипт** который называется FRONT CONTROLLER - /web/index.php)

3. Определяется маршрут и создается контролер изходя из запроса в ссылке (Анализируется запрос ** url **, и на основание url, определяется маршрут. и если такой маршрут есть, тогда создается обьект контроллера (Вызывается контроллер, создаётся его обьект).)

3.1 Внутри контроллера есть ряд методов, которые называются action-нами или действиями или же методами

За каждую страничку конкретно отвечает контроллер и его какое-то действие.(метод или action)

3.2 Контроллер загружает модель (который как правило работает с базой данных) или несколько моделей.

Подключается **Вид** чтобы красиво упаковать эти данные и полученные мы вставляем в **Вид** который уже с загруженными данными из контроллера отдается пользователю в качестве ответа.

Жизненный цикл пользовательского запроса

На диаграмме показано как приложение обрабатывает запрос.

Жизненный цикл запроса

  1. Пользователь обращается к точке входа web/index.php.
  2. Скрипт загружает конфигурацию configuration и создает экземпляр приложения для дальнейшей обработки запроса.
  3. Приложение определяет маршрут запроса при помощи компонента приложения запрос.
  4. Приложение создает экземпляр контроллера для выполнения запроса.
  5. Контроллер, в свою очередь, создает действие и накладывает на него фильтры.
  6. Если хотя бы один фильтр дает сбой, выполнение приложения останавливается.
  7. Если все фильтры пройдены - приложение выполняется.
  8. Действие загружает модель данных. Вероятнее всего из базы данных.
  9. Действие генерирует вид, отображая в нем данные (в т.ч. и полученные из модели).
  10. Сгенерированный вид приложения передается как компонент ответ.
  11. Компонент "ответ" отправляет готовый результат работы приложения браузеру пользователя.