9.1 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Виконання додатків
Після встановлення Yii, базовий додаток буде доступний або по URL http://hostname/basic/web/index.php,
або по http://hostname/index.php, в залежності від налаштування веб-сервера. Даний розділ - загальне введення в
організацію коду, вбудований функціонал і опрацювання запитів додатком Yii.
Info: Для спрощення, далі в даному посібнику припускається, що Yii встановлений в директорію
basic/web, яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях веб-сервера. В результаті, звернувшись до URL на зразокhttp://hostname/index.php, ви отримаєте доступ до додатку. Будь ласка, відредагуйте URL-адреси наведені у прикладах відповідно до ваших потреб.
Функціонал
Встановлений базовий додаток складається з чотирьох сторінок:
- домашня сторінка, відображається при переході по URL http://hostname/index.php;
- сторінка "About" ("Про нас");
- сторінка "Contact", що відображає форму зворотнього зв’язку, через яку користувач може звернутися до розробника за допомогою електронної пошти;
- сторінка "Login", на якій відображається форма для аутентифікації користувачів. Спробуйте увійти з логіном/паролем "admin/admin". Зверніть увагу на зміну пункту "Login" в головному меню на "Logout".
Ці сторінки використовують спільну шапку та футер. Шапка містить головне меню, за допомогою якого здійснюється навігація по сайту.
У нижній частині вікна ви зможете бачити системні повідомлення Yii - налагоджувальну інформацію, повідомлення про помилки, запити до бази даних і т. п. Відображенням даної інформацію керує вбудований налагоджувач, він записує і відображає інформацію про хід виконання додатку.
Крім веб-додатка, існує консольний скрипт yii, що розташований в базовій директорії додатка.
Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка.
Все це описано у розділі Консольні команди.
Структура додатка Yii
Нижче наведений перелік основних директорій і файлів вашого додатку (вважаємо, що додаток встановлений в директорію basic):
basic/                  базова директорія додатка
    composer.json       використовується Composer'ом, містить опис додатку
    config/             містить конфігураційні файли
        console.php     конфігурація консольного додатка
        web.php         конфігурація веб-додатка
    commands/           містить класи консольних команд
    controllers/        містить класи контролерів
    models/             містить класи моделей
    runtime/            містить файли, які генерує Yii під час виконання додатку (журнали, кеш і т. п.)
    vendor/             містить пакунки Composer'а і, власне, сам фреймворк Yii
    views/              містить представлення додатку
    web/                базова веб-директорія, містить файли, доступні через Web
        assets/         містить файли ресурсів (javascript та css)
        index.php       вхідний (або bootsrap) скрипт для додатку Yii, з нього розпочинається виконання додатку
    yii                 скрипт виконання консольних команд Yii
В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в basic/web і розміщенні в інших директоріях.
Перша категорія доступна через HTTP (наприклад, браузером), друга недоступна зовні, та і не повинна бути, оскільки містить службову інформацію.
В Yii реалізований шаблон проектування модель-представлення-контролер (MVC),
що відображається на вищезазначеній структурі директорій додатка. В директорії models знаходяться всі класи моделей,
у views розміщені всі скрипти представлень, а в директорії controllers
всі класи контролерів додатка.
Діаграма нижче демонструє статичну структуру додатка.
В кожному додатку Yii є місце входження в додаток, web/index.php - це єдиний PHP-скрипт доступний для виконання через Web.
Він отримує вхідний запит і створює екземпляр додатку.
Додаток опрацьовує запит з допомогою його компонентів
і відправляє запит елементам MVC. Віджети використовуються у представленнях
для побудови складних та динамічних елементів інтерфейсу користувача.
Життєвий цикл запиту
На діаграмі показано, як додаток відпрацьовує запит.
- Користувач робить запит до вхідного скрипту web/index.php.
- Вхідний скрипт завантажує конфігурацію додатка та створює екземпляр додатку для наступного опрацювання запиту.
- Додаток визначає маршрут запиту за допомогою компонента запиту додатка.
- Додаток створює екземпляр контролера для виконання запиту.
- Контролер, в свою чергу, створює дію і накладає на неї фільтри.
- Якщо хоч один фільтр поверне помилку - виконання додатку зупиняється.
- Якщо всі фільтри пройдені - додаток виконується.
- Дія завантажує модель даних, скоріше за все із бази даних.
- Дія формує представлення та відображає в ньому дані (в т. ч. і отримані із моделі).
- Сформований результат передається компоненту відповіді додатка.
- Компонент "відповіді" відправляє готовий результат роботи додатка браузеру користувача.
 
			
