Commit 60306679 by Borales

[Uk] Guide corrections [skip ci]

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