Commit 60306679 by Borales

[Uk] Guide corrections [skip ci]

parent 874c6331
...@@ -49,7 +49,7 @@ All Rights Reserved. ...@@ -49,7 +49,7 @@ All Rights Reserved.
* [Огляд](runtime-overview.md) * [Огляд](runtime-overview.md)
* [Bootstrapping](runtime-bootstrapping.md) * [Bootstrapping](runtime-bootstrapping.md)
* [Роутінг та створення URL](runtime-routing.md) * [Маршрутизація та створення URL](runtime-routing.md)
* [Запити](runtime-requests.md) * [Запити](runtime-requests.md)
* [Відповіді](runtime-responses.md) * [Відповіді](runtime-responses.md)
* [Сесії та кукі](runtime-sessions-cookies.md) * [Сесії та кукі](runtime-sessions-cookies.md)
...@@ -112,7 +112,7 @@ All Rights Reserved. ...@@ -112,7 +112,7 @@ All Rights Reserved.
* [Авторизація](security-authorization.md) * [Авторизація](security-authorization.md)
* [Робота з паролями](security-passwords.md) * [Робота з паролями](security-passwords.md)
* **TBD** [Клієнти авторизації](security-auth-clients.md) * **TBD** [Клієнти авторизації](security-auth-clients.md)
* **TBD** [Кращі практики](security-best-practices.md) * [Кращі практики](security-best-practices.md)
Кешування Кешування
...@@ -131,7 +131,7 @@ RESTful веб-сервіси ...@@ -131,7 +131,7 @@ RESTful веб-сервіси
* [Швидкий старт](rest-quick-start.md) * [Швидкий старт](rest-quick-start.md)
* [Ресурси](rest-resources.md) * [Ресурси](rest-resources.md)
* [Контролери](rest-controllers.md) * [Контролери](rest-controllers.md)
* [Роутінг](rest-routing.md) * [Маршрутизація](rest-routing.md)
* [Форматування відповіді](rest-response-formatting.md) * [Форматування відповіді](rest-response-formatting.md)
* [Аутентифікація](rest-authentication.md) * [Аутентифікація](rest-authentication.md)
* [Обмеження частоти запитів](rest-rate-limiting.md) * [Обмеження частоти запитів](rest-rate-limiting.md)
...@@ -193,7 +193,7 @@ RESTful веб-сервіси ...@@ -193,7 +193,7 @@ RESTful веб-сервіси
* [Огляд](helper-overview.md) * [Огляд](helper-overview.md)
* [ArrayHelper](helper-array.md) * [ArrayHelper](helper-array.md)
* **TBD** [Html](helper-html.md) * [Html](helper-html.md)
* [Url](helper-url.md) * [Url](helper-url.md)
* **TBD** [Security](helper-security.md) * **TBD** [Security](helper-security.md)
Вхідні скрипти Вхідні скрипти
=============== ==============
Вхідні скрипти це перша ланка в процесі початкового завантаження додатку. Додаток (веб додаток або консольний додаток) Вхідні скрипти це перша ланка в процесі початкового завантаження додатку. Додаток (веб додаток або консольний додаток)
включає єдиний вхідний скрипт. Кінцеві користувачі роблять запити до вхідного скрипта, який створює об’єкти додатка і перенаправляє запит до них. має єдиний вхідний скрипт. Кінцеві користувачі роблять запити до вхідного скрипта, який створює об’єкти додатка та
перенаправляє запит до них.
Вхідні скрипти для веб додатків повинні бути збережені в теках доступних з веб, таким чином вони можуть бути доступними кінцевому користувачу. Такі скрипти за звичай називаються `index.php`, але також можут використовуватись і інші імена, які можуть бути розпізнані використовуваними веб-серверами. Вхідні скрипти для веб додатків повинні бути збережені в директоріях, доступних із веб, таким чином, вони можуть бути
доступними кінцевим користувачам. Зазвичай вони називаються `index.php`, але також можут використовуватись і інші
імена, які можуть бути розпізнані веб-серверами.
Вхідні скрипти для консольних додатків за звичай розміщенні в [кореневій директорії](structure-applications.md) додатку і мають назву Вхідні скрипти для консольних додатків зазвичай розміщенні у [кореневій директорії](structure-applications.md)
`yii` (з суфіксом `.php`). Вони мають права на виконання, таким чином користувачі зможуть запускати консольні додатки через команду `./yii <маршрут> [аргументи] [опції]`. додатку і мають назву `yii` (з суфіксом `.php`). Вони повинні мати права на виконання, щоб користувачі мали змогу
запускати консольні додатки через команду `./yii <маршрут> [аргументи] [опції]`.
Вхідні скрипти в основному виконують наступну роботу: Вхідні скрипти в основному виконують наступну роботу:
* Оголошують глобальні константи; * Оголошують глобальні константи;
* Реєструють завантажувач класів [Composer](http://getcomposer.org/doc/01-basic-usage.md#autoloading); * Реєструють автозавантажувач класів [Composer](http://getcomposer.org/doc/01-basic-usage.md#autoloading);
* Підключають файл класа [[Yii]]; * Підключають файл класу [[Yii]];
* Завантажують конфігурацію додатка; * Завантажують конфігурацію додатка;
* Створюють і конфігурують об’єкт [додатка](structure-applications.md); * Створюють і конфігурують об’єкт [додатка](structure-applications.md);
* Викликають метод [[yii\base\Application::run()]] додатка для опрацювання вхідного запиту. * Викликають метод [[yii\base\Application::run()]] додатка для обробки вхідного запиту.
## Веб додатки <a name="web-applications"></a> ## Веб додатки <a name="web-applications"></a>
...@@ -29,16 +33,16 @@ ...@@ -29,16 +33,16 @@
defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev'); defined('YII_ENV') or define('YII_ENV', 'dev');
// реєстрація завантажувача класів Composer // реєстрація автозавантажувача класів Composer
require(__DIR__ . '/../vendor/autoload.php'); require(__DIR__ . '/../vendor/autoload.php');
// підключення файла класа Yii // підключення файла класу Yii
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
// завантаження конфігурації додатка // завантаження конфігурації додатка
$config = require(__DIR__ . '/../config/web.php'); $config = require(__DIR__ . '/../config/web.php');
// створення і конфігурація додатка, а також виклик метода для опрацювання вхідного запиту // створення, конфігурація та виконання додатка
(new yii\web\Application($config))->run(); (new yii\web\Application($config))->run();
``` ```
...@@ -60,14 +64,14 @@ $config = require(__DIR__ . '/../config/web.php'); ...@@ -60,14 +64,14 @@ $config = require(__DIR__ . '/../config/web.php');
defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_DEBUG') or define('YII_DEBUG', true);
// fcgi не має констант STDIN и STDOUT, вони визначаються за замовчуванням // fcgi не має констант STDIN та STDOUT за замовчуванням
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r')); defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w')); defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));
// реєстрація завантажувача класів Composer // реєстрація автозавантажувача класів Composer
require(__DIR__ . '/vendor/autoload.php'); require(__DIR__ . '/vendor/autoload.php');
// підключення файла класа Yii // підключення файла класу Yii
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
// завантаження конфігурації додатка // завантаження конфігурації додатка
...@@ -83,11 +87,15 @@ exit($exitCode); ...@@ -83,11 +87,15 @@ exit($exitCode);
Вхідні скрипти є найкращим місцем для оголошення глобальних констант. Yii підтримує наступні три константи: Вхідні скрипти є найкращим місцем для оголошення глобальних констант. Yii підтримує наступні три константи:
* `YII_DEBUG`: вказує чи працює додаткок у відлагоджувальному режимі. Перебуваючи у відлагоджувальному режимі, додаток буде збирати більше інформації у логи і покаже більш детальний стек викликів, якщо виникне виняток. По цій причині, відлагоджувальний режим повинен бути використаний тільки в процесі розробки. За замовчуванням значення `YII_DEBUG` дорівнює false; * `YII_DEBUG`: вказує чи працює додаткок у режимі відлагодження ("debug mode"), перебуваючи у якому,
* `YII_ENV`: вказує в якому середовищі працює додаток. Дана тема детально розглянута в розділі [Конфігурації](concept-configurations.md#environment-constants). додаток буде збирати більше інформації у логи та покаже більш детальний стек викликів при отриманні виключення.
За замовчуванням значення `YII_ENV` дорівнює `'prod'`, що значить, що додаток працює у виробничому режимі; З цієї причини, режим відлагодження повинен бути використаний тільки в процесі розробки.
* `YII_ENABLE_ERROR_HANDLER`: вказує чи потрібно включати наявний у Yii обробник помилок. За замовчуванням значення даної константи За замовчуванням значення `YII_DEBUG` дорівнює `false`.
дорівнює true. * `YII_ENV`: вказує в якому середовищі працює додаток. Дана тема детально розглянута у розділі
[Конфігурації](concept-configurations.md#environment-constants). За замовчуванням значення `YII_ENV` дорівнює
`'prod'`, яке означає, що додаток працює у робочому ("production") режимі.
* `YII_ENABLE_ERROR_HANDLER`: вказує чи потрібно увімкнути наявний у Yii обробник помилок.
За замовчуванням значення даної константи дорівнює `true`.
При визначенні константи, ми зазвичай використовуєм наступний код: При визначенні константи, ми зазвичай використовуєм наступний код:
...@@ -105,4 +113,5 @@ if (!defined('YII_DEBUG')) { ...@@ -105,4 +113,5 @@ if (!defined('YII_DEBUG')) {
Перший варіант є більш коротким і зрозумілим. Перший варіант є більш коротким і зрозумілим.
Константи мають бути визначені якомога раніше, в самому початку вхідного скрипта, таким чином вони зможуть вплинути на решту PHP файлів які будуть підключатись. Константи мають бути визначені якомога раніше, на самому початку вхідного скрипта, щоб вони могли вплинути на решту
PHP файлів, які будуть підключатись.
Огляд Огляд
===== =====
Yii додаток організований згідно шаблону проектування [модель-представлення-подія (MVC)](http://ru.wikipedia.org/wiki/Model-View-Controller). Додатки Yii організовані згідно шаблону проектування
[Моделі](structure-models.md) являють собою дані, бізнес логіку і бізнес правила; [представлення](structure-views.md) [модель-представлення-подія (MVC)](http://uk.wikipedia.org/wiki/Модель-вид-контролер).
відповідають за відображення інформації, в тому числі і на основі даних, отриманих з моделей; [контролери](structure-controllers.md) [Моделі](structure-models.md) являють собою дані, бізнес логіку та бізнес правила;
приймають вхідні дані від користувача і перетворюють їх в зрозумілий для [моделей](structure-models.md) формат і команди, а також відповідають за відображення потрібного представлення. [представлення](structure-views.md) відповідають за відображення даних моделей;
[контролери](structure-controllers.md) приймають вхідні дані від користувача і перетворюють їх у команди для
[моделей](structure-models.md) та [представлень](structure-views.md).
Окрім MVC, Yii додаток також має наступні сутності: Окрім MVC, Yii додаток також має наступні сутності:
* [вхідні скрипти](structure-entry-scripts.md): це PHP скрипти, які доступні напряму кінцевому користувачу додатка. * [вхідні скрипти](structure-entry-scripts.md): це PHP скрипти, які доступні напряму кінцевому користувачу додатка.
Вони відповідають за запуск та опрацювання вхідного запиту; Вони відповідають за запуск циклу обробки запиту.
* [додатки](structure-applications.md): це глобально доступні об’єкти, які відповідають за коректну роботу різних * [додатки](structure-applications.md): це глобально доступні об’єкти, які відповідають за коректну роботу різних
компонентів додатка і їх координацію для обробки запиту; компонентів додатка і їх координацію для обробки запиту.
* [компоненти додатку](structure-application-components.md): це об’єкти, зареєстровані в додатку і які надають * [компоненти додатку](structure-application-components.md): це об’єкти, зареєстровані в додатку і які надають
різноманітні можливості для обробки поточного запиту; різноманітні можливості для обробки запитів.
* [модулі](structure-modules.md): це самодостатні пакети, що включають в себе повністю всі ресурси для MVC. * [модулі](structure-modules.md): це самодостатні пакети, що включають в себе повністю всі ресурси для MVC.
Додаток може бути організовано з допомогою декількох модулів; Додаток може бути організовано за допомогою декількох модулів.
* [фільтри](structure-filters.md): це код, який повинен бути виконаний до і після оброки запиту контролерами; * [фільтри](structure-filters.md): це код, який повинен бути виконаний до і після обробки запиту контролерами.
* [віджети](structure-widgets.md): це об’єкти, які можуть включати в себе [представлення](structure-views.md). * [віджети](structure-widgets.md): це об’єкти, які можуть бути вбудованими у [представлення](structure-views.md).
Вони можуть містити різноманітну логіку і використовуватись в різноманітних представленнях. Вони можуть містити різноманітну логіку і можуть бути повто використаними у різних представленнях.
Нижче на діаграмі наведена структурна схема додатку: На наступній діаграмі наведена структурна схема додатку:
![Стандартна структура додатку](../guide/images/application-structure.png) ![Статична структура додатку](images/application-structure.png)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment