Files
yii2/docs/guide-uk/start-workflow.md
cuiliang cd9caf65d2 20160611
2016-06-11 19:49:57 +08:00

16 KiB
Raw Blame History

Виконання додатків

<<<<<<< HEAD <<<<<<< HEAD Після встановлення Yii, базовий додаток буде доступний або по URL http://hostname/basic/web/index.php, або по http://hostname/index.php, в залежності від налаштування Web сервера. Даний розділ - загальне введення в організацію коду, вбудований функціонал і опрацювання запитів додатком Yii.

Інформація: Для спрощення, далі в даному посібнику передбачається, що Yii встановлений в директорію basic/web, яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях Web сервера. В результаті, звернувшись до URL ======= Після встановлення Yii, базовий додаток буде доступний або по URL http://hostname/basic/web/index.php, або по http://hostname/index.php, в залежності від налаштування Web сервера. Даний розділ - загальне введення в організацію коду, вбудований функціонал і опрацювання запитів додатком Yii.

Інформація: Для спрощення, далі в даному посібнику передбачається, що Yii встановлений в директорію basic/web, яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях Web сервера. В результаті, звернувшись до URL

yiichina/master http://hostname/index.php ви отримаєте доступ до додатку. Відрегулюйте URL-адреси для ваших потреб. ======= Після встановлення Yii, базовий додаток буде доступний або по URL http://hostname/basic/web/index.php, або по http://hostname/index.php, в залежності від налаштування веб-сервера. Даний розділ - загальне введення в організацію коду, вбудований функціонал і опрацювання запитів додатком Yii.

Info: Для спрощення, далі в даному посібнику припускається, що Yii встановлений в директорію basic/web, яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях веб-сервера. В результаті, звернувшись до URL на зразок http://hostname/index.php, ви отримаєте доступ до додатку. Будь ласка, відредагуйте URL-адреси наведені у прикладах відповідно до ваших потреб.

master

Функціонал

Встановлений базовий додаток складається з чотирьох сторінок:

<<<<<<< HEAD

  • домашня сторінка, відображається при переході по URL http://hostname/index.php
  • "About" ("Про нас")
  • на сторінці "Contact" знаходиться форма зворотнього зв’язку, на якій користувач може звернутися до розробника по e-mail <<<<<<< HEAD
  • на сторінці "Login" відображається форма авторизації. Спробуйте авторизуватись з логіном/паролем "admin/admin". Зверніть увагу на зміну розділу "Login" в головному меню на "Logout". =======
  • домашня сторінка, відображається при переході по URL http://hostname/index.php;
  • сторінка "About" ("Про нас");
  • сторінка "Contact", що відображає форму зворотнього зв’язку, через яку користувач може звернутися до розробника за допомогою електронної пошти;
  • сторінка "Login", на якій відображається форма для аутентифікації користувачів. Спробуйте увійти з логіном/паролем "admin/admin". Зверніть увагу на зміну пункту "Login" в головному меню на "Logout".

master

Ці сторінки використовують спільну шапку та футер. Шапка містить головне меню, за допомогою якого здійснюється навігація по сайту.

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

Крім веб-додатка, існує консольний скрипт yii, що розташований в базовій директорії додатка. Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка. Все це описано у розділі Консольні команди.

=======

  • на сторінці "Login" відображається форма авторизації. Спробуйте авторизуватись з логіном/паролем "admin/admin". Зверніть увагу на зміну розділу "Login" в головному меню на "Logout".

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

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

Крім веб-додатка, існує консольний скрипт yii, що розташований в базовій директорії додатка. Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка. Все це описано у розділі Консольні команди.

yiichina/master

Структура додатка 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

<<<<<<< HEAD <<<<<<< HEAD В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в basic/web і розміщенні в інших директоріях.

В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в basic/web і розміщенні в інших директоріях.

yiichina/master Перша категорія доступна через HTTP (наприклад, браузером), друга недоступна зовні, та і не повинна бути, так як містить службову інформацію. ======= В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в basic/web і розміщенні в інших директоріях. Перша категорія доступна через HTTP (наприклад, браузером), друга недоступна зовні, та і не повинна бути, оскільки містить службову інформацію. master

В Yii реалізований шаблон проектування модель-представлення-контролер (MVC), що відображається на вищезазначеній структурі директорій додатка. В директорії models знаходяться всі класи моделей, у views розміщені всі скрипти представлень, а в директорії controllers всі класи контролерів додатка.

Діаграма нижче демонструє статичну структуру додатка.

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

<<<<<<< HEAD <<<<<<< HEAD В кожному додатку Yii є місце входження в додаток, web/index.php - це єдиний PHP-скрипт доступний для виконання через Web. Він отримує вхідний запит і створює екземпляр додатку. Додаток опрацьовує вхідні запити з допомогою компонентів і відправляє запит контролеру.

В кожному додатку Yii є місце входження в додаток, web/index.php - це єдиний PHP-скрипт доступний для виконання через Web. Він отримує вхідний запит і створює екземпляр додатку. Додаток опрацьовує вхідні запити з допомогою компонентів і відправляє запит контролеру.

yiichina/master Віджети використовуються у представленнях для побудови динамічних інтерфейсів сайта. ======= В кожному додатку Yii є місце входження в додаток, web/index.php - це єдиний PHP-скрипт доступний для виконання через Web. Він отримує вхідний запит і створює екземпляр додатку. Додаток опрацьовує запит з допомогою його компонентів і відправляє запит елементам MVC. Віджети використовуються у представленнях для побудови складних та динамічних елементів інтерфейсу користувача. master

Життєвий цикл запиту

На діаграмі показано, як додаток відпрацьовує запит.

Життєвий цикл запиту

<<<<<<< HEAD

  1. Користувач робить запит до місця входження web/index.php. <<<<<<< HEAD
  2. Скрипт завантажує конфігурацію configuration і створює екземпляр =======
  3. Скрипт завантажує конфігурацію configuration і створює екземпляр

yiichina/master =======

  1. Користувач робить запит до вхідного скрипту web/index.php.
  2. Вхідний скрипт завантажує конфігурацію додатка та створює екземпляр

master додатку для наступного опрацювання запиту.

  1. Додаток визначає маршрут запиту за допомогою компонента запиту додатка.
  2. Додаток створює екземпляр контролера для виконання запиту.
  3. Контролер, в свою чергу, створює дію і накладає на неї фільтри.
  4. Якщо хоч один фільтр поверне помилку - виконання додатку зупиняється.
  5. Якщо всі фільтри пройдені - додаток виконується.
  6. Дія завантажує модель даних, скоріше за все із бази даних.
  7. Дія формує представлення та відображає в ньому дані (в т. ч. і отримані із моделі).
  8. Сформований результат передається компоненту відповіді додатка.
  9. Компонент "відповіді" відправляє готовий результат роботи додатка браузеру користувача.