В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в `basic/web` і розміщенні в інших директоріях. Перша категорія доступна через Web (наприклад, браузером), друга не доступна ззовні та і не повинна бути так як містить службову інформацію.
В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в `basic/web` і розміщенні в інших директоріях. Перша категорія доступна через Web (наприклад, браузером), друга недоступна зовні та і не повинна бути так як містить службову інформацію.
В Yii реалізована схема проектування [модель-вид-контролер (MVC)](http://http://uk.wikipedia.org/wiki/Model-View-Controller),
В Yii реалізована схема проектування [модель-вид-контролер (MVC)](http://http://uk.wikipedia.org/wiki/Model-View-Controller),
яка відповідає структурі директорій додатка. В директорії `models` знаходяться [Моделі](structure-models.md),
яка відповідає структурі директорій додатка. В директорії `models` знаходяться [Моделі](structure-models.md),
в `views` розміщені [Види](structure-views.md), а в каталозі `controllers` всі [Контролери](structure-controllers.md) додатка.
в `views` розміщені [Види](structure-views.md), а в каталозі `controllers` всі [Контролери](structure-controllers.md) додатка.
1. Користувач звертається до [місця входження](structure-entry-scripts.md)`web/index.php`.
1. Користувач звертається до [місця входження](structure-entry-scripts.md)`web/index.php`.
2. Скрипт завантажує конфігурацію [configuration](concept-configurations.md) і створює екземпляр [додатку](structure-applications.md) для наступного опрацювання запиту.
2. Скрипт завантажує конфігурацію [configuration](concept-configurations.md) і створює екземпляр [додатку](structure-applications.md) для наступного опрацювання запиту.
3. Додаток визначає [маршрут](runtime-routing.md) запту за допомогою компонента додатка [запит](runtime-requests.md).
3. Додаток визначає [маршрут](runtime-routing.md) запиту за допомогою компонента додатка [запит](runtime-requests.md).
4. Додаток створює екземпляр [контролера](structure-controllers.md) для виконання запиту.
4. Додаток створює екземпляр [контролера](structure-controllers.md) для виконання запиту.
5. Контролер, в свою чергу, створює [дію](structure-controllers.md) і накладає на неї фільтри.
5. Контролер, в свою чергу, створює [дію](structure-controllers.md) і накладає на неї фільтри.
6. Якщо хоч один фільтр видасть помилку виконання додатку зупиняється.
6. Якщо хоч один фільтр поверне помилку - виконання додатку зупиняється.
7. Якщо всі фільтри пройденні - додаток виконується.
7. Якщо всі фільтри пройдені - додаток виконується.
8. Дія завантажує модель даних. Скоріше за все із бази даних.
8. Дія завантажує модель даних. Скоріше за все із бази даних.
9. Дія генерує вид, відображаючи в ньому дані (в т.ч. і отримані із моделі).
9. Дія генерує вид, відображаючи в ньому дані (в т.ч. і отримані із моделі).
10. Згенерований вид додатку передається як компонент [відповідь](runtime-responses.md).
10. Згенерований вид додатку передається як компонент [відповідь](runtime-responses.md).