> Примітка: псевдонім шляху до файлу або URL *не* обовʼязково вказує на існуючий файл або ресурс.
> Примітка: псевдонім шляху до файлу або URL *не* обовʼязково вказує на наявний файл або ресурс.
Використовуючи вже заданий псевдонім, ви можете отримати на основі нього новий (без виклику [[Yii::setAlias()]]),
додавши в його кінець `/`, за яким слідує один або більше сегментів шляху. Псевдоніми, визначені за допомогою
@ -108,8 +108,8 @@ $cache = new FileCache([
- `@webroot`, коренева веб-директорія поточного веб-додатку. Визначається на основі директорії розташування [вхідного скрипта](structure-entry-scripts.md).
- `@web`, базовий URL поточного додатку. Має таке ж значення, як і [[yii\web\Request::baseUrl]].
- `@vendor`, [[yii\base\Application::vendorPath|директорія vendor Composer]]. За замовчуванням `@app/vendor`.
- `@bower`, директорія, що містить [пакети bower](http://bower.io/). За замовчуванням `@vendor/bower`.
- `@npm`, директорія, що містить [пакети npm](https://www.npmjs.org/). За замовчуванням `@vendor/npm`.
- `@bower`, директорія, що містить [пакунки Bower](http://bower.io/). За замовчуванням `@vendor/bower`.
- `@npm`, директорія, що містить [пакунки NPM](https://www.npmjs.org/). За замовчуванням `@vendor/npm`.
Псевдонім `@yii` задається в момент підключення файлу `Yii.php` у [вхідному скрипті](structure-entry-scripts.md).
Решта псевдонімів задаються в конструкторі додатка в момент застосування [конфигурації](concept-configurations.md).
@ -120,7 +120,7 @@ $cache = new FileCache([
Для кожного [розширення](structure-extensions.md), що встановлюється через Composer, автоматично задається псевдонім.
Його імʼя відповідає кореневому простору імен розширення відповідно до його `composer.json`, і кожен псевдонім представляє
шлях до кореневої директорії пакета. Наприклад, якщо ви встановите розширення `yiisoft/yii2-jui`,
шлях до кореневої директорії пакунка. Наприклад, якщо ви встановите розширення `yiisoft/yii2-jui`,
то вам автоматично стане доступним псевдонім `@yii/jui`, який будет створено на етапі
В цьому розділі ви дізналися, як працювати з базою даних. Ви також дізналися, як вибирати і відображати дані на сторінках
за допомогою [[yii\data\Pagination]] і [[yii\widgets\LinkPager]].
У наступному розділі ви дізнаєтеся, як використовувати потужний інструмент генерації коду, що називається [Gii](tool-gii.md),
який допоможе вам швидко здійснювати деякі часто необхідні функції, такі як Create-Read-Update-Delete (CRUD)
операції для роботи з даними в таблицях баз даних.
Насправді, код, який ви щойно написали, Yii може автоматично сгенерувати з допомогою функції Gii.
У наступному розділі ви дізнаєтеся, як використовувати потужний інструмент генерації коду, що називається [Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide-uk/README.md),
який допоможе вам швидко створювати деякі часто необхідні функції, такі як Create-Read-Update-Delete (CRUD)
операції для роботи з даними в таблицях баз даних. Насправді, код, який ви щойно написали,
в Yii можливо автоматично згенерувати за допомогою інструменту Gii.
При перезаписі існуючого файлу, встановіть прапорець поруч із чекбоксом "перезаписати" ("overwrite"), а потім натисніть
кнопку "Створити" ("Generate"). При створенні нового файлу, ви можете просто натиснути на кнопку "Створити" ("Generate").
При перезаписі наявного файлу, позначте пункт "перезаписати" ("overwrite"), а потім натисніть кнопку "Створити" ("Generate"). При створенні нового файлу, ви можете просто натиснути на кнопку "Створити" ("Generate").
Далі, ви побачите сторінку підтвердження із відображенням коду, який був сгенерований. Якщо ви перезаписували вже існуючий
Далі, ви побачите сторінку підтвердження із відображенням коду, який був успішно згенерований. Якщо ви перезаписували вже наявний
файл, то побачите повідомлення про те, що він був переписаний і замінений на щойно згенерований код.
CRUD розшифровується як Створити, Прочитати, Оновити, і Видалити, це операції що вирішують чотири спільні завдання
з маніпулюванням даними на більшості веб-сайтів. Щоб створити CRUD інтерфейс використовуючи Gii, оберіть
"CRUD Generator" (натиснувши відповідну кнопку на сторінці Gii). Наприклад, для таблиці "country", заповніть наступні поля форми:
CRUD - це акронім від англійських слів Create, Read, Update, Delete (Створити, Прочитати, Оновити, Видалити), що представляє чотири основні операції над даними на більшості веб-сайтів.
Щоб реалізувати функціонал CRUD використовуючи Gii, оберіть "CRUD Generator" (натиснувши відповідну кнопку на сторінці Gii). Наприклад, для таблиці "country", заповніть форму наступним чином:
* Клас моделі: `app\models\Country`
* Клас моделі пошуку: `app\models\CountrySearch`
* Клас контролера: `app\controllers\CountryController`
![CRUD генератор](images/start-gii-crud.png)
![Генератор CRUD](images/start-gii-crud.png)
Далі, натисніть на кнопку "Перегляду" ("Preview"). Ви побачите файл `models/Country.php` який буде створений в
результаті даних дій. Ви можете натиснути на ім’я файлу класу для перегляду його вмісту.
Далі, натисніть на кнопку "Перегляду" ("Preview"). Ви побачите список файлів, які будуть створені, як показано нижче.
Якщо ви попередньо створили контролер `controllers/CountryController.php` і файл представлення `views/country/index.php`
(в розділі "Робота з базами даних" даного посібника), оберіть чекбокс "перезаписати" і замініть їх.
(Попередні версії файлів на мають повного CRUD функціоналу.)
(в розділі "Робота з базами даних" даного посібника), позначте пункт "перезаписати" і замініть їх. (Попередні версії файлів на мають повного функціоналу CRUD.)
Спробуємо <spanid="trying-it-out"></span>
---------
Щоб побачити все, що було створено під час роботи, відкрийте в браузері наступний URL:
Щоб побачити як це працює, відкрийте в браузері наступний URL:
```
http://hostname/index.php?r=country/index
```
Ви побачите таблицю даних, що показує країни з таблиці бази даних. Ви зможете відсортувати сітку, або відфільтрувати
пошук, вказавши умови фільтрації в заголовках стовпців.
Ви побачите таблицю даних, що показує країни з таблиці бази даних. Ви можете відсортувати дані,
або відфільтрувати їх, вказавши умови фільтрації в заголовках колонок.
Для кожної країни, що відображається в таблиці, ви можете використати функції перегляду деталей, оновлення даних, або
взагалі видалити її. Ви також можете натиснути на кнопку "Створити країну" зверху сітки відображення, яка переадресує
вас на форму створення нової країни.
Для кожної країни, що відображається в таблиці, ви можете використати функції перегляду деталей, оновлення даних, або взагалі видалити її.
Ви також можете натиснути на кнопку "Створити країну" ("Create Country") над таблицею, яка переадресує вас на форму створення нової країни.
![Сітка даних країн](images/start-gii-country-grid.png)
![Таблиця даних країн](images/start-gii-country-grid.png)
![Оновлення даних країни](images/start-gii-country-update.png)
Нижче наведено перелік файлів, згенерованих Gii, у тому разі, якщо ви захочете дослідити, як реалізовані ці можливості,
або доналаштувати їх під свої потреби:
Нижче наведено перелік файлів, згенерованих Gii, у тому разі, якщо ви захочете дослідити як реалізовані ці можливості,
або налаштувати їх під свої потреби:
* Контролер: `controllers/CountryController.php`
* Моделі: `models/Country.php` і `models/CountrySearch.php`
* Представлення: `views/country/*.php`
> Інформація: Gii це гнучкий і розширюваний інструмент для генерації коду. При правильному використувані, від дозволить
вам значно прискорити розробку ваших додатків. Для більш докладної інформації, будьласка, зверніться до розділу
Буде відображена сторінка з надписом "Привіт світ". Вона використовує ту ж шапку і футер, що і решта сторінок додатка.
Якщо ви не вкажете параметр `message`, то побичите на сторінці лише «Привіт». Це відбувається тому, що `message` передається
в метод `actionSay()` і значення за замовчуванням — «Привіт».
Якщо ви не вкажете параметр `message` в URL, то побачите на сторінці лише "Привіт". Це відбувається тому, що `message` передається як параметр в метод `actionSay()`, а коли він не вказаний,
використовується значення за замовчуванням "Привіт".
> Інформація: Нова сторінка використовує ту ж шапку і футер, що і решта сторінок, тому що метод
[[yii\web\Controller::render()|render()]] автоматично підставляється в результат представлення `say` в, так званий,
> Інформація: Нова сторінка використовує ту ж шапку і футер, що й решта сторінок, тому що метод [[yii\web\Controller::render()|render()]]
автоматично підставляє результат формування представлення `say` в, так званий, [макет](structure-views.md#layouts), який в даному
випадку розміщено у`views/layouts/main.php`.
Параметр `r` потребує додаткових пояснень. Він пов’язаний з [маршрутом (route)](runtime-routing.md), який являє
собою унікальний ідентифікатор, який вказує на дію. Його формат `ControllerID/ActionID`. Коли додаток отримує запит,
він перевіряє цей параметр і, використовуючи `ControllerID`, визначає який контролер слід використовувати для
опрацювання запиту. Потім, контролер використовує частину `ActionID`, щоб визначити яка дія виконує реальну роботу.
В нашому випадку маршрут `site/say` буде відповідати контролеру `SiteController` і його дії `say`.
В результаті, для відпрацювання запиту буде викликано метод `SiteController::actionSay()`.
Параметр `r` у вищезазначеному URL потребує додаткових пояснень. Він вказує [маршрут](runtime-routing.md), що являє собою унікальний для додатка ідентифікатор,
який вказує на дію. Його формат `ControllerID/ActionID`. Коли додаток отримує запит,
він перевіряє цей параметр і, використовуючи частину `ControllerID`, визначає який контролер
слід використовувати для опрацювання запиту. Потім, контролер використовує частину `ActionID`,
щоб визначити яку дію використовувати для виконання реальної роботи. В нашому випадку маршрут `site/say`
буде відповідати контролеру `SiteController` і його дії `say`. В результаті,
для опрацювання запиту буде викликано метод `SiteController::actionSay()`.
> Інформація: Як і дії, контролери також мають ідентифікатори, котрі однозначно визначають їх в додатку.
Ідентифікатори контролерів використовують ті ж самі правила, що і ідентифікатори дій. Імена класів
контролерів отримуються шляхом видалення дефісів з ідентифікатора, перетворення першої літери кожного слова у верхній
регістр і додавання в кінець `Controller`. Наприклад, ідентифікатор контролера `post-comment` відповідає
імені класа контролера `PostCommentController`.
Ідентифікатори контролерів використовують ті ж самі правила іменування, що і ідентифікатори дій. Імена класів контролерів
отримуються шляхом видалення дефісів з ідентифікатора, перетворення першої літери кожного слова у верхній регістр
і додавання в кінець слова`Controller`. Наприклад, ідентифікатор контролера `post-comment` відповідає
імені класу контролера `PostCommentController`.
Підсумок <spanid="summary"></span>
--------
В даному розділі ви торкнулися теми контролерів і представлень в паттерні MVC. Ви створили дію, як частину контролера,
який опрацьовує запити, і представлення, яке приймає участь у формувані відповіді. В цьому процесі ніяк не була задіяна
модель, так як в ролі даних виступає тільки простий параметр `message`.
В даному розділі ви торкнулися таких частин шаблону проектування MVC як контролери та представлення.
Ви створили дію, як частину контролера, для опрацювання специфічного запиту. А також ви створили представлення
для формування вмісту відповіді. В цьому процесі ніяк не використовувалась модель, оскільки в ролі даних виступає тільки простий параметр `message`.
Також ви ознайомились із концепцією маршрутизації, котра є сполучною ланкою між запитом користувача і дією контролера.
В наступному розділі ви дізнаєтесь як створювати моделі і добавляти нові сторінки з HTML формами.
В наступному розділі ви дізнаєтесь як створити модель та додати нову сторінку з HTML-формою.
Ви можете встановити Yii двома шляхами: використовуючи менеджер пакетів [Composer](https://getcomposer.org/)
або завантаживши архів. Перший варіант э бажанішим, тому що дозволить встановити всі нові
[розширення](structure-extensions.md) або оновити Yii однією командою.
Ви можете встановити Yii двома шляхами: використовуючи менеджер пакунків [Composer](https://getcomposer.org/) або завантаживши файл архіву.
Перший варіант є бажанішим, тому що дозволяє встановлювати нові [розширення](structure-extensions.md) або оновлювати Yii простим виконанням однієї команди.
> Примітка: На відміну від Yii 1, після стандартного встановлення Yii 2 ми отримуємо як фреймворк, так і шаблон додатка.
Після стандартного встановлення Yii ми отримуємо як фреймворк, так і шаблон проекту. Шаблон проекту - це робочий проект Yii,
в якому реалізовано деякий базовий функціонал, такий як система входу/виходу користувачів, форма зворотнього зв’язку і т.д.
Його код організовано в рекомендований спосіб. Таким чином, це може слугувати гарною відправною точкою для ваших проектів.
У цьому та у наступних кількох розділах буде описано, як встановити Yii з так званим *Базовим шаблоном проекту* та
як реалізувати нові можливості на базі цього шаблону. Також Yii надає інший шаблон із назвою
[Розширений шаблон проекту](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md), який краще використовувати у середовищі розробки в команді
для розробки складних додатків.
> Інформація: Базовий шаблон проекту підходить для розробки 90 відсотків веб-додатків. Він відрізняється
від Розширеного шаблону проекту в основному організацією коду. Якщо ви малознайомі з Yii, наполегливо
рекомендується використовувати Базовий шаблон проекту із-за його простоти, але й достатньої функціональності.
Встановлення за допомогою Composer <spanid="installing-via-composer"></span>
----------------------------------
Якщо у вас все ще не вставновлено Composer, то це можна зробити за допомогою інструкції на [getcomposer.org](https://getcomposer.org/download/).
Користувачам Linux та Mac OS X потрібно виконати наступні команди:
Якщо у вас все ще не встановлено Composer, то це можна зробити за допомогою інструкції на
[getcomposer.org](https://getcomposer.org/download/). Користувачам Linux та Mac OS X потрібно виконати наступні команди:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
При роботі з Windows, необхідно завантажити та запустити [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
В разі наявності проблем або якщо вам необхідна додаткова інформація, зверніться до [документації Composer](https://getcomposer.org/doc/).
В разі наявності проблем або якщо вам необхідна додаткова інформація,
зверніться до [документації Composer](https://getcomposer.org/doc/).
Якщо ж Composer вже було встановлено раніше, переконайтесь, що використовуюєте його останню версію.
Якщо ж Composer вже було встановлено раніше, переконайтесь, що використовуєте його останню версію.
Ви можете оновити Composer простою командою `composer self-update`.
Після встановлення Composer, встановити Yii можна виконавши наступну команду з директорії, яка доступна через Web:
Якщо ви прочитали весь розділ "Приступаючи до роботи", то, напевне, ви створили повноцінний додаток Yii. У процесі ви дізналися,
як реалізувати деякі найбільш часто використовувані функції, таких, як отримання даних від користувачів за допомогою HTML-форми,
вибірка даних з бази даних і відображення даних із розбиттям по сторінкам. Також ви дізналися, як використовувати
[Gii](tool-gii.md) для автоматичної генерації коду, що перетворює більшу частину процесу веб-розробки у завдання настільке просте,
як заповнення деяких форм.
Якщо ви прочитали всю главу "Перше знайомство", то, напевно, ви створили повноцінний додаток Yii. У процесі ви дізналися, як реалізувати деякі найбільш часто
використовувані функції, такі, як отримання даних від користувачів за допомогою HTML-форми, вибірка даних з бази даних
і відображення даних із розділенням на сторінки. Також ви дізналися, як використовувати [Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide-uk/README.md)
для автоматичної генерації коду, що перетворює більшу частину процесу веб-розробки у завдання настільки просте, як заповнення деяких форм.
У цьому розділі зібрані ресурси пов’язані з Yii, які допоможуть вам бути більш продуктивними при використанні фреймворку.
Визначає використання кожного класу, представленого в Yii. Ним слід користуватися, коли ви пишете
код і хочете розібратися у використанні конкретного класу, методу, властивості. Довідник класів найкраще використовувати після контекстного розуміння всього фреймворка.
Yii пишається бібліотекою із тисяч розширень, внесених користувачами, які можуть бути легко підключені у ваші додатки та зробити розробку додатків ще швидшим і простішим.
* Спільнота
- Форум: <http://www.yiiframework.com/forum/>
- IRC chat: The #yii channel on the freenode network (<irc://irc.freenode.net/yii>)
- Чат IRC: Канал #yii мережі freenode (<irc://irc.freenode.net/yii>)
Після встановлення Yii, базовий додаток буде доступний або по URL `http://hostname/basic/web/index.php`,
або по `http://hostname/index.php`, в залежності від налаштування Web сервера. Даний розділ - загальне введення в
або по `http://hostname/index.php`, в залежності від налаштування веб-сервера. Даний розділ - загальне введення в
організацію коду, вбудований функціонал і опрацювання запитів додатком Yii.
> Інформація: Для спрощення, далі в даному посібнику передбачається, що Yii встановлений в директорію `basic/web`,
яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях Web сервера. В результаті, звернувшись до URL
`http://hostname/index.php` ви отримаєте доступ до додатку. Відрегулюйте URL-адреси для ваших потреб.
> Інформація: Для спрощення, далі в даному посібнику припускається, що Yii встановлений в директорію `basic/web`,
яка, в свою чергу, встановлена, як коренева директорія в налаштуваннях веб-сервера. В результаті, звернувшись до URL
на зразок `http://hostname/index.php`, ви отримаєте доступ до додатку.
Будь ласка, відредагуйте URL-адреси наведені у прикладах відповідно до ваших потреб.
Функціонал <spanid="functionality"></span>
----------
Вбудований шаблон простого додатку складається з чотирьох сторінок:
Встановлений базовий додаток складається з чотирьох сторінок:
* домашня сторінка, відображається при переході по URL `http://hostname/index.php`
* "About" ("Про нас")
* на сторінці "Contact" знаходиться форма зворотнього зв’язку, на якій користувач може звернутися до розробника по e-mail
* на сторінці "Login" відображається форма авторизації. Спробуйте авторизуватись з логіном/паролем "admin/admin".
Зверніть увагу на зміну розділу "Login" в головному меню на "Logout".
* домашня сторінка, відображається при переході по URL `http://hostname/index.php`;
* сторінка "About" ("Про нас");
* сторінка "Contact", що відображає форму зворотнього зв’язку, за допомогою якої користувач може звернутися до розробника по e-mail;
* сторінка "Login", на якій відображається форма для аутентифікації користувачів. Спробуйте увійти з логіном/паролем
"admin/admin". Зверніть увагу на зміну пункту "Login" в головному меню на "Logout".
Ці сторінки використовують спільний хедер (шапка сайта) і футер (підвал). В "шапці" знаходиться головне меню, за
допомогою якого користувач переміщається по сайту.
Ці сторінки використовують спільну шапку і футер. Шапка містить головне меню, за
допомогою якого здійснюється навігація по сайту.
У нижній частині вікна ви зможете бачити системні повідомлення Yii - журнал, відлагоджувальну інформацію,
повідомлення про помилки, запити до бази даних і т.п. Відображенням данної інформацію керує
[вбудований відладчик](tool-debugger.md), він записує і відображає інформацію про хід виконання додатку.
У нижній частині вікна ви зможете бачити системні повідомлення Yii - налагоджувальну інформацію,
повідомлення про помилки, запити до бази даних і т.п. Відображенням даної інформацію керує
[вбудований відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md), він записує і відображає інформацію про хід виконання додатку.
Крім веб-додатка, існує консольний скрипт `yii`, що розташований в базовій директорії додатка.
Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка.
@ -39,38 +40,40 @@
Нижче наведений перелік основних директорій і файлів вашого додатку (вважаємо, що додаток встановлений в директорію `basic`):
```
basic/ кореневий каталог додатка
basic/ базова директорія додатка
composer.json використовується Composer'ом, містить опис додатку
config/ конфігураційні файли
config/ містить конфігураційні файли
console.php конфігурація консольного додатка
web.php конфігурація Web додатка
web.php конфігурація веб-додатка
commands/ містить класи консольних команд
controllers/ контролери
models/ моделі
runtime/ файли, які генерує Yii під час виконання додатку (логи, кеш і т.п.)
controllers/ містить класи контролерів
models/ містить класи моделей
runtime/ містить файли, які генерує Yii під час виконання додатку (журнали, кеш і т.п.)
vendor/ містить пакунки Composer'а і, власне, сам фреймворк Yii
views/ представлення додатку
web/ коренева директорія Web додатку. Містить файли, доступні через Web
assets/ скрипти, які використовуються додатком (js, css)
index.php місце входження в додаток Yii. З нього розпочинається виконання додатку
yii скрипт виконання консольного додатку Yii
views/ містить представлення додатку
web/ базова веб-директорія, містить файли, доступні через Web
assets/ містить файли ресурсів (javascript та css)
index.php вхідний (або bootsrap) скрипт для додатку Yii, з нього розпочинається виконання додатку
yii скрипт виконання консольних команд Yii
```
В цілому, додаток Yii можна розділити на дві категорії файлів: розміщенні в `basic/web` і розміщенні в інших директоріях.
Перша категорія доступна через HTTP (наприклад, браузером), друга недоступна зовні, та і не повинна бути, так як містить службову інформацію.
В Yii реалізована схема проектування [модель-представлення-контролер (MVC)](http://http://uk.wikipedia.org/wiki/Model-View-Controller),
яка відповідає структурі директорій додатка. В директорії `models` знаходяться класи [моделей](structure-models.md),
в `views` розміщені скрипти [представлень](structure-views.md), а в каталозі `controllers` всі класи [контролерів](structure-controllers.md) додатка.
В Yii реалізований шаблон проектування [модель-представлення-контролер (MVC)](http://uk.wikipedia.org/wiki/Model-View-Controller),
що відображається на вищезазначеній структурі директорій додатка. В директорії `models` знаходяться всі класи [моделей](structure-models.md),
у `views` розміщені всі скрипти [представлень](structure-views.md), а в директорії `controllers`
всі класи [контролерів](structure-controllers.md) додатка.
Діаграма нижче демонструє статичну структуру додатка.
![Статична структура додатка](images/application-structure.png)
В кожному додатку Yii є місце входження в додаток, `web/index.php` - це єдиний PHP-скрипт доступний для виконання через Web.
Він отримує вхідний запит і створює екземпляр [додатку](structure-applications.md). [Додаток](structure-applications.md)
опрацьовує вхідні запити з допомогою [компонентів](concept-components.md) і відправляє запит контролеру.
[Віджети](structure-widgets.md) використовуються у [представленнях](structure-views.md) для побудови динамічних інтерфейсів сайта.
Він отримує вхідний запит і створює екземпляр [додатку](structure-applications.md).
[Додаток](structure-applications.md) опрацьовує запит з допомогою його [компонентів](concept-components.md)
і відправляє запит елементам MVC. [Віджети](structure-widgets.md) використовуються у [представленнях](structure-views.md)
для побудови складних та динамічних елементів інтерфейсу користувача.
Життєвий цикл запиту <spanid="request-lifecycle"></span>
Контролери є частиною [MVC](http://uk.wikipedia.org/wiki/Модель-вид-контролер) архітектури. Це об’єкти класів,
Контролери є частиною архітектури [MVC](http://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C-%D0%B2%D0%B8%D0%B4-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%B5%D1%80). Це об’єкти класів,
успадкованих від [[yii\base\Controller]] та відповідають за обработку запитів і генерацію відповідей.
Зокрема, після отримання контролю від [додатків](structure-applications.md), контролери проаналізують
вхідні дані, передадуть їх у [моделі](structure-models.md), додадуть результати моделі у
@ -91,7 +91,7 @@ ModuleID/ControllerID/ActionID
## Створення контролерів <spanid="creating-controllers"></span>
У [[yii\web\Application|вебдодатках]] контролери повинні бути успадкованими від класу [[yii\web\Controller]]
У [[yii\web\Application|веб-додатках]] контролери повинні бути успадкованими від класу [[yii\web\Controller]]
або його нащадків. Аналогічно для [[yii\console\Application|консольних додатків]], контролери повинні бути
успадкованими від класу [[yii\console\Controller]] або його нащадків. Наступний код визначає контролер `site`:
@ -179,7 +179,7 @@ ID контролера також може містити префікс суб
Кожний додаток має контролер за замовчуванням, вказаний через властивість [[yii\base\Application::defaultRoute]].
Коли в запиті не вказано [маршрут](#routes), то буде використано маршрут із даної властивості.
Для [[yii\web\Application|вебдодатків]], це значення рівне `'site'`, у той час, як для
Для [[yii\web\Application|веб-додатків]], це значення рівне `'site'`, у той час, як для
[[yii\console\Application|консольних додатків]], це `'help'`. Таким чином, якщо вказаний URL
`http://hostname/index.php`, це значить, що контролер `site` виконає обробку запиту.
@ -312,7 +312,7 @@ class HelloWorldAction extends Action
Значення, що повертається, може бути об’єктом [відповіді](runtime-responses.md), яке буде відправлено
кінцевому користувачу.
* Для [[yii\web\Application|вебдодатків]], значення, що повертається, також може бути довільними даними,
* Для [[yii\web\Application|веб-додатків]], значення, що повертається, також може бути довільними даними,
яке буде призначене до [[yii\web\Response::data]], а потім конвертоване у рядок, що представляє тіло відповіді.
* Для [[yii\console\Application|консольних додатків]], значення, що повертається, також може бути числом, що
представляє [[yii\console\Response::exitStatus|статус виходу]] виконання команди.
@ -333,7 +333,7 @@ public function actionForward()
### Параметри дій <spanid="action-parameters"></span>
Методи дій для вбудованих дій і методи `run()` для окремих дій можуть приймати, так звані, *параметри дії*.
Їх значення беруться із запитів. Для [[yii\web\Application|вебдодатків]], значення кожного з параметрів дії
Їх значення беруться із запитів. Для [[yii\web\Application|веб-додатків]], значення кожного з параметрів дії
береться із `$_GET`, використовуючи назву параметра у якості ключа;
для [[yii\console\Application|консольних додатків]] - вони відповідають аргументам командної строки.
@ -378,8 +378,8 @@ public function actionView(array $id, $version = null)
значення `['123']`. Якщо запит буде містити URL `http://hostname/index.php?r=post/view&id=123`, то параметр
`$id` все рівно отримає масив, оскільки скалярне значення `'123'` буде автоматично сконвертовано у масив.
Вищенаведені приклади в основному показують як параметри дій працюють для вебдодатків. Більше інформації
про параметри консольних додатків наведено в секції [Консольні команди](tutorial-console.md).
Вищенаведені приклади в основному показують як параметри дій працюють для веб-додатків. Більше інформації
про параметри консольних додатків наведено в розділі [Консольні команди](tutorial-console.md).
### Дія за замовчуванням <spanid="default-action"></span>