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

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

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

Окрім цього, Yii також використовує фронт-контролер, який називається додатком (application), який інкапсулює контекст обробки запиту. Додаток збирає інформацію про запит та передає його для подальшої обробки відповідному контролеру.

Наступна діаграма відобража структуру додатку Yii:

Статична структура додатку Yii

Статична структура додатку Yii

1. Типова послідовність роботи додатку Yii

Наступна діаграма описує типову послідовність процесу обробки користувальницького запиту додатком:

Типова послідовність роботи додатку Yii

Типова послідовність роботи додатку Yii
  1. Користувач здійснює запит за допомогою URL http://www.example.com/index.php?r=post/show&id=1, а веб-сервер обробляє його, запускаючи виконання скрипта ініціалізації index.php;
  2. Скрипт ініціалізації створює екземпляр додатку та запускає його на виконання;
  3. Додаток отримує детальну інформацію про запит користувача від компонента додатку request;
  4. Додаток визначає запитані контролер та дію за допомогою компоненту urlManager. У даному прикладі контролером буде post, який відноситься до класу PostController, а дією — show, суть якого визначається контролером;
  5. Додаток створює екземпляр запитуваного контролеру для подальшої обробки запиту користувача. Контролер визначає відповідність дії show методу actionShow у класі контролера. Далі створюються та застосовуються фільтри (наприклад, access control, benchmarking), повʼязані з даною дією, та, якщо фільтри дозволять, дія виконається;
  6. Дія зчитує із бази даних модель Post з ID рівним 1;
  7. Дія формує представлення show із даними моделі Post;
  8. Представлення отримує та відображає атрибути моделі Post;
  9. Представлення виконує деякі віджети;
  10. Сформоване представлення додається у макет сторінки;
  11. Дія завершує формування представлення та виводить результат користувачу.

Be the first person to leave a comment

Please to leave your comment.