Merge pull request #8720 from vchenin/docs_uk

📖 docs/*uk add tutorial-console.md + some corrections [skip ci]
This commit is contained in:
Alexander Makarov
2015-06-12 13:12:58 +02:00
13 changed files with 241 additions and 25 deletions

View File

@ -143,9 +143,9 @@ All Rights Reserved.
Інструменти розробника Інструменти розробника
---------------------- ----------------------
* **TBD** [Панель налагодження та відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md) * [Панель налагодження та налагоджувач](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md)
* **TBD** [Генерація коду з Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide-uk/README.md) * [Генерація коду за допомогою Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide-uk/README.md)
* [Генератор документації API (en)](https://github.com/yiisoft/yii2-apidoc) * **TBD** [Генерація документації API](https://github.com/yiisoft/yii2-apidoc)
Тестування Тестування
@ -164,11 +164,11 @@ All Rights Reserved.
* **TBD** [Розширений шаблон проекту](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md) * **TBD** [Розширений шаблон проекту](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md)
* **TBD** [Створення додатка з нуля](tutorial-start-from-scratch.md) * **TBD** [Створення додатка з нуля](tutorial-start-from-scratch.md)
* **TBD** [Консольні команди](tutorial-console.md) * [Консольні додатки](tutorial-console.md)
* **TBD** [Основні валідатори](tutorial-core-validators.md) * **TBD** [Основні валідатори](tutorial-core-validators.md)
* **TBD** [Інтернаціоналізація](tutorial-i18n.md) * **TBD** [Інтернаціоналізація](tutorial-i18n.md)
* **TBD** [Робота з поштою](tutorial-mailing.md) * **TBD** [Робота з поштою](tutorial-mailing.md)
* **TBD** [Вдосконалення продуктивності](tutorial-performance-tuning.md) * **TBD** [Покращення швидкодії](tutorial-performance-tuning.md)
* **TBD** [Робота на віртуальному хостингу](tutorial-shared-hosting.md) * **TBD** [Робота на віртуальному хостингу](tutorial-shared-hosting.md)
* **TBD** [Шаблонізатори](tutorial-template-engines.md) * **TBD** [Шаблонізатори](tutorial-template-engines.md)
* [Робота із стороннім кодом](tutorial-yii-integration.md) * [Робота із стороннім кодом](tutorial-yii-integration.md)

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -28,7 +28,7 @@ Yii це універсальний фреймворк і може бути
багаторівневе кешування та інші. багаторівневе кешування та інші.
- Yii надзвичайно розширюваний. Ви можете налаштувати або замінити практично будь-яку частину основного коду. - Yii надзвичайно розширюваний. Ви можете налаштувати або замінити практично будь-яку частину основного коду.
Завдяки надійній архітектурі розширень Yii, досить легко використовувати або розробляти поширюванні розширення. Завдяки надійній архітектурі розширень Yii, досить легко використовувати або розробляти поширюванні розширення.
- Висока продуктивність завжди є головною ціллю Yii. - Висока швидкодія завжди є головною ціллю Yii.
Yii — не проект однієї людини. Він підтримується і розвивається [сильною командою][about_yii] і великою спільнотою розробників, Yii — не проект однієї людини. Він підтримується і розвивається [сильною командою][about_yii] і великою спільнотою розробників,
які їй допомагають. Команда розробників фреймворку Yii стежать за тенденціями веб-розробки і розвитком інших проектів. які їй допомагають. Команда розробників фреймворку Yii стежать за тенденціями веб-розробки і розвитком інших проектів.

View File

@ -16,8 +16,8 @@
Ви можете використовувати два стовпці в таблиці user для зберігання кількості дозволених запитів та час останньої перевірки. Ви можете використовувати два стовпці в таблиці user для зберігання кількості дозволених запитів та час останньої перевірки.
У методах `loadAllowance()` та `saveAllowance()` можна реалізувати зчитування та зберігання значень цих стовбців відповідно У методах `loadAllowance()` та `saveAllowance()` можна реалізувати зчитування та зберігання значень цих стовбців відповідно
до даних поточного аутентифікованого користувача. Для підвищення продуктивності можна спробувати зберігати цю до даних поточного аутентифікованого користувача. Для покращення швидкодії можна спробувати зберігати цю
інформацію в кеші чи NoSQL сховищі. інформацію в кеш чи NoSQL-сховищі.
Як тільки відповідний інтерфейс буде реалізований у класі identity, Yii почне автоматично перевіряти обмеження Як тільки відповідний інтерфейс буде реалізований у класі identity, Yii почне автоматично перевіряти обмеження
частоти запитів за допомогою фільтра дій [[yii\filters\RateLimiter]] для [[yii\rest\Controller]]. При перевищенні частоти запитів за допомогою фільтра дій [[yii\filters\RateLimiter]] для [[yii\rest\Controller]]. При перевищенні

View File

@ -2,7 +2,7 @@
================ ================
В даному розділі буде описано як створити нову сторінку з формою для отримання даних від користувачів. В даному розділі буде описано як створити нову сторінку з формою для отримання даних від користувачів.
На сторінці буде розміщена форма з полями, де можна буде вказати ім’я та e-mail. На сторінці буде розміщена форма з полями, де можна буде вказати ім’я та адресу електронної пошти.
Після отримання цих двох фрагментів інформації від користувача, сторінка відобразить введені значення знову для підтвердження. Після отримання цих двох фрагментів інформації від користувача, сторінка відобразить введені значення знову для підтвердження.
Для досягнення даної цілі, крім створення [дії](structure-controllers.md) і Для досягнення даної цілі, крім створення [дії](structure-controllers.md) і
@ -56,7 +56,7 @@ class EntryForm extends Model
правил перевірки даних. Правила перевірки, оголошені у вищезазначеному коді означають наступне: правил перевірки даних. Правила перевірки, оголошені у вищезазначеному коді означають наступне:
* поля `name` і `email` обов’язкові для заповнення; * поля `name` і `email` обов’язкові для заповнення;
* поле `email` повинно містити правильну адресу e-mail. * поле `email` повинно містити правильну адресу електронної пошти.
Якщо об’єкт `EntryForm` заповнений даними користувача, то для їх перевірки ви можете викликати метод Якщо об’єкт `EntryForm` заповнений даними користувача, то для їх перевірки ви можете викликати метод
цього об’єкту [[yii\base\Model::validate()|validate()]]. У випадку цього об’єкту [[yii\base\Model::validate()|validate()]]. У випадку
@ -139,7 +139,7 @@ HTML-формою та повідомленнями про присутні по
На завершення, створюємо два файли представлення з іменами `entry-confirm` і `entry`, котрі зображаються дією `entry` На завершення, створюємо два файли представлення з іменами `entry-confirm` і `entry`, котрі зображаються дією `entry`
з минулого підрозділу. з минулого підрозділу.
Представлення `entry-confirm` просто зображає ім’я та e-mail. Воно мусить бути збережене у файлі `views/site/entry-confirm.php`. Представлення `entry-confirm` просто зображає ім’я та адресу електронної пошти. Воно мусить бути збережене у файлі `views/site/entry-confirm.php`.
```php ```php
<?php <?php
@ -149,7 +149,7 @@ use yii\helpers\Html;
<ul> <ul>
<li><label>Ім’я</label>: <?= Html::encode($model->name) ?></li> <li><label>Ім’я</label>: <?= Html::encode($model->name) ?></li>
<li><label>E-mail</label>: <?= Html::encode($model->email) ?></li> <li><label>Адреса електронної пошти</label>: <?= Html::encode($model->email) ?></li>
</ul> </ul>
``` ```
@ -191,7 +191,7 @@ http://hostname/index.php?r=site/entry
``` ```
Ви побачите сторінку з формою і двома полями для заповнення. Перед кожним полем є надпис, який вказує, яку саме Ви побачите сторінку з формою і двома полями для заповнення. Перед кожним полем є надпис, який вказує, яку саме
інформацію слід вказувати. Якщо ви натиснете на кнопку відправлення даних без самих даних або якщо вкажете e-mail в невірному інформацію слід вказувати. Якщо ви натиснете на кнопку відправлення даних без самих даних або якщо вкажете адресу електронної пошти в невірному
форматі, то ви побачите повідомлення про помилку біля кожного проблемного поля. форматі, то ви побачите повідомлення про помилку біля кожного проблемного поля.
![Форма з помилками перевірки](images/start-form-validation.png) ![Форма з помилками перевірки](images/start-form-validation.png)
@ -224,7 +224,7 @@ http://hostname/index.php?r=site/entry
```php ```php
<?= $form->field($model, 'name')->label('Ваше ім’я') ?> <?= $form->field($model, 'name')->label('Ваше ім’я') ?>
<?= $form->field($model, 'email')->label('Ваш e-mail') ?> <?= $form->field($model, 'email')->label('Ваша адреса електронної пошти') ?>
``` ```
> Інформація: У Yii є велика кількість віджетів, які дозволяють швидко будувати складні та динамічні представлення. > Інформація: У Yii є велика кількість віджетів, які дозволяють швидко будувати складні та динамічні представлення.

View File

@ -18,7 +18,7 @@
* домашня сторінка, відображається при переході по URL `http://hostname/index.php`; * домашня сторінка, відображається при переході по URL `http://hostname/index.php`;
* сторінка "About" ("Про нас"); * сторінка "About" ("Про нас");
* сторінка "Contact", що відображає форму зворотнього зв’язку, за допомогою якої користувач може звернутися до розробника по e-mail; * сторінка "Contact", що відображає форму зворотнього зв’язку, через яку користувач може звернутися до розробника за допомогою електронної пошти;
* сторінка "Login", на якій відображається форма для аутентифікації користувачів. Спробуйте увійти з логіном/паролем * сторінка "Login", на якій відображається форма для аутентифікації користувачів. Спробуйте увійти з логіном/паролем
"admin/admin". Зверніть увагу на зміну пункту "Login" в головному меню на "Logout". "admin/admin". Зверніть увагу на зміну пункту "Login" в головному меню на "Logout".
@ -27,7 +27,7 @@
У нижній частині вікна ви зможете бачити системні повідомлення Yii - налагоджувальну інформацію, У нижній частині вікна ви зможете бачити системні повідомлення Yii - налагоджувальну інформацію,
повідомлення про помилки, запити до бази даних і т. п. Відображенням даної інформацію керує повідомлення про помилки, запити до бази даних і т. п. Відображенням даної інформацію керує
[вбудований відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md), він записує і відображає інформацію про хід виконання додатку. [вбудований налагоджувач](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md), він записує і відображає інформацію про хід виконання додатку.
Крім веб-додатка, існує консольний скрипт `yii`, що розташований в базовій директорії додатка. Крім веб-додатка, існує консольний скрипт `yii`, що розташований в базовій директорії додатка.
Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка. Цей скрипт може бути використаний для виконання фонових завдань або завдань обслуговування додатка.

View File

@ -168,7 +168,7 @@ if (YII_ENV_DEV) {
} }
``` ```
> Примітка: Якщо вказувати велику кількість компонентів у `bootstrap` - це негативно позначиться на продуктивності > Примітка: Якщо вказувати велику кількість компонентів у `bootstrap` - це негативно позначиться на швидкодії
додатка, оскільки для кожного запиту буде виконуватись один й той самий набір компонентів. Таким чином, потрібно додатка, оскільки для кожного запиту буде виконуватись один й той самий набір компонентів. Таким чином, потрібно
розсудливо використовувати компоненти початкового завантаження. розсудливо використовувати компоненти початкового завантаження.

View File

@ -230,7 +230,7 @@ class User extends ActiveRecord
Дані для моделі, які отримуються від кінцевих користувачів, повинні пройти перевірку, щоб пересвідчитись, що вони задовольняють Дані для моделі, які отримуються від кінцевих користувачів, повинні пройти перевірку, щоб пересвідчитись, що вони задовольняють
певні правила (названі *правилами перевірки*, також відомі як *бізнес-правила*). Наприклад, дано модель `ContactForm`, певні правила (названі *правилами перевірки*, також відомі як *бізнес-правила*). Наприклад, дано модель `ContactForm`,
ви, можливо, хочете пересвідчитись, що всі атрибути заповнені та атрибут `email` містить коректну адресу e-mail. ви, можливо, хочете пересвідчитись, що всі атрибути заповнені та атрибут `email` містить коректну адресу електронної пошти.
Якщо значення для деяких атрибутів не задовольняють відповідні бізнес-правила, то будуть відображенні належні Якщо значення для деяких атрибутів не задовольняють відповідні бізнес-правила, то будуть відображенні належні
повідомлення про помилки, щоб допомогти користувачу виправити їх. повідомлення про помилки, щоб допомогти користувачу виправити їх.
@ -265,7 +265,7 @@ public function rules()
// атрибути name, email, subject і body є обов’язковими // атрибути name, email, subject і body є обов’язковими
[['name', 'email', 'subject', 'body'], 'required'], [['name', 'email', 'subject', 'body'], 'required'],
// атрибут email повинен бути коректною адресою e-mail // атрибут email повинен бути коректною адресою електронної пошти
['email', 'email'], ['email', 'email'],
]; ];
} }

View File

@ -0,0 +1,208 @@
Консольні додатки
=================
Окрім багатьох можливостей для побудови веб-додатків, Yii також має повноцінну підтримку консольних додатків,
які в основному використовуються для реалізації фонових або супроводжувальних задач, які необхідно виконати для веб-сайту.
Структура консольного додатка дуже подібна до структури веб-додатка Yii. Він складається з одного
або декількох класів [[yii\console\Controller]], які у середовищі консолі часто називають "командами".
Кожний контролер може також мати одну або декілька дій, так само як і веб-контролери.
Обидва шаблони проекту вже мають консольний додаток у комплекті.
Ви можете запустити його, викликавши скрипт `yii`, який розміщений у базовій директорії додатка.
Це дасть вам перелік доступних команд, коли ви запускаєте його без будь-яких додаткових параметрів:
![Виконання команди ./yii для відображення довідки](images/tutorial-console-help.png)
Як видно на знімку екрану, Yii має вже визначений набір команд, які є доступними "з коробки":
- [[yii\console\controllers\AssetController|AssetController]] - Дозволяє вам комбінувати та стискати ваші файли JavaScript і CSS.
Ви можете дізнатись більше про цю команду у розділі [Ресурси](structure-assets.md#using-the-asset-command).
- [[yii\console\controllers\CacheController|CacheController]] - Дозволяє вам оновити кеш додатка.
- [[yii\console\controllers\FixtureController|FixtureController]] - Керує завантаженням та вивантаженням даних фікстур для цілей тестування.
Ця команда описана більш детально у [розділі тестування про фікстури](test-fixtures.md#managing-fixtures).
- [[yii\console\controllers\HelpController|HelpController]] - Надає довідкову інформацію про консольні команди, ця команда використовується за замовчуванням
та виводить те, що ви побачили у вищенаведеному виводі.
- [[yii\console\controllers\MessageController|MessageController]] - Здобуває повідомлення для перекладу з файлів коду.
Щоб дізнатись більше про цю команду, будь ласка, зверніться до розділу [Інтернаціоналізація](tutorial-i18n.md#message-command).
- [[yii\console\controllers\MigrateController|MigrateController]] - Управляє міграціями додатка.
Міграції баз даних описані більш детально у розділі про [міграції баз даних](db-migrations.md).
Використання <span id="usage"></span>
------------
Для виконання дії консольного контролера використовуйте наступний синтаксис:
```
yii <route> [--option1=value1 --option2=value2 ... argument1 argument2 ...]
```
У вищенаведеному прикладі, `<route>` означає маршрут до дії контролера. Опції будуть заповнювати
властивості класу, а аргументи є параметрами для методу дії.
Наприклад, дія [[yii\console\controllers\MigrateController::actionUp()|MigrateController::actionUp()]]
з властивістю [[yii\console\controllers\MigrateController::$migrationTable|MigrateController::$migrationTable]], що має значення `migrations`,
та обмеженням у 5 міграцій може бути викликана так:
```
yii migrate/up 5 --migrationTable=migrations
```
> **Примітка**: Коли використовуєте символ `*` в консолі, не забувайте замикати його в лапки, як `"*"`, для запобігання його інтерпретування як
> спецсимволу shell-оболонки, який заміщується іменами файлів поточної директорії.
Вхідний скрипт <span id="entry-script"></span>
--------------
Вхідний скрипт консольного додатку є еквівалентним до файлу початкового завантаження `index.php` для веб-додатків.
Консольний вхідний скрипт, як правило, називається `yii`, та розміщений у базовій директорії вашого додатку.
Він містить код подібний до наступного:
```php
#!/usr/bin/env php
<?php
/**
* Yii console bootstrap file.
*/
defined('YII_DEBUG') or define('YII_DEBUG', true);
// fcgi doesn't have STDIN and STDOUT defined by default
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/config/console.php');
$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);
```
Цей скрипт буде створено як частину вашого додатку; ви можете вільно змінювати його для відповідності вашим потребам. Значення константи `YII_DEBUG` може бути встановлено у `false`,
якщо ви не хочете бачити стек трасування при помилці, і/або якщо ви хочете підвищити загальну швидкодію. І в базовому, і в розширеному шаблонах
проекту у вхідному скрипті консольного додатку за замовчуванням включено режим налагодження для забезпечення більш дружнього до розробника середовища.
Конфігурація <span id="configuration"></span>
------------
Як видно у вищенаведеному коді, консольний додаток використовує свій власний файл конфігурації з іменем `console.php`. У цьому файлі
ви можете налаштовувати різні [компоненти додатка](structure-application-components.md) та властивості для консольного додатка зокрема.
Якщо ваш веб-додаток та консольний додаток мають багато спільних параметрів конфігурації з однаковими значеннями, ви можете відокремити
спільні частини в окремий файл та включити цей файл до обох конфігурацій додатків (веб- та консольного).
Ви можете побачити приклад цього у "розширеному" шаблоні проекту.
> Підказка: Іноді, існує необхідність виконувати консольну команду, використовуючи конфігурацію додатка, яка
> відрізняється від заданої у вхідному скрипті. Наприклад, якщо ви хочете використати команду `yii migrate` для
> оновлення ваших тестових баз даних, які налаштовані кожна в окремому наборі тестів. Для динамічної зміни
> конфігурації просто вкажіть потрібний файл конфігурації додатка
> за допомогою опції `appconfig`, коли виконуєте команду:
>
> ```
> yii <route> --appconfig=path/to/config.php ...
> ```
Створення власних консольних команд <span id="create-command"></span>
-----------------------------------
### Консольні контролер та дія
Консольна команда визначена класом контролера успадкованого від [[yii\console\Controller]]. У класі контролера
визначаються одна або більше дій, які відповідають під-командам контролера. Всередині кожної дії міститься код, який реалізує відповідні завдання для окремої під-команди.
При виконанні команди необхідно вказати маршрут до дії контролера. Наприклад,
маршрут `migrate/create` викликає під-команду, яка відповідає методу дії
[[yii\console\controllers\MigrateController::actionCreate()|MigrateController::actionCreate()]].
Якщо маршрут, запропонований при виконанні, не містить ідентифікатора дії, то буде виконана стандартна дія (так само як у веб-контролері).
### Опції
Через перевизначення методу [[yii\console\Controller::options()]] ви можете визначити опції, які будуть доступними
для консольної команди (controller/actionID). Метод повинен повертати перелік публічних властивостей класу контролера.
При виконанні команди можна задати значення опції, використовуючи синтаксис `--OptionName=OptionValue`.
Це призначить значення `OptionValue` властивості `OptionName` класу контролера.
Якщо значення за замовчуванням для опції є масивом і ви задаєте цю опцію під час виконання команди,
то значення опції буде перетворене у масив розділенням вхідного текстового рядка за комами.
### Аргументи
Окрім опцій, команда також може приймати аргументи. Аргументи будуть передані як параметри до методу дії
відповідно до запитуваної під-команди. Перший аргумент відповідає першому параметру, другий
відповідає другому і т. д. Якщо при виклику команди надано не достатньо аргументів, то відповідним параметрам
будуть призначені типові значення, якщо попередньо визначені. Якщо типове значення не визначено і не передано значення під час виконання, то команда буде завершена з помилкою.
Ви можете використовувати вказівку типу `array` для позначення аргументу, з яким потрібно обходитись як з масивом.
Масив буде згенерований розділенням вхідного текстового рядку за комами.
Наступний приклад показує як оголошувати аргументи:
```php
class ExampleController extends \yii\console\Controller
{
// Команда "yii example/create test" викличе "actionCreate('test')"
public function actionCreate($name) { ... }
// Команда "yii example/index city" викличе "actionIndex('city', 'name')"
// Команда "yii example/index city id" викличе "actionIndex('city', 'id')"
public function actionIndex($category, $order = 'name') { ... }
// Команда "yii example/add test" викличе "actionAdd(['test'])"
// Команда "yii example/add test1,test2" викличе "actionAdd(['test1', 'test2'])"
public function actionAdd(array $name) { ... }
}
```
### Код виходу
Використання кодів виходу є найкращою практикою для розробки консольного додатку. Прийнято, якщо команда повертає `0`, це означає, що
все добре. Якщо команда повертає число більше за нуль, це вважається показником помилки. Повернуте число буде кодом
помилки, яке потенційно може використовуватись для пошуку деталей про помилку.
Наприклад, число `1`, як правило, може означати невідому помилку, а усі коди вище можуть бути зарезервовані для специфічних випадків: помилки вводу, відсутні файли і так далі.
Для того, щоб ваша консольна команда повертала код виходу, просто поверніть ціле число з методу дії
контролера:
```php
public function actionIndex()
{
if (/* деяка проблема */) {
echo "A problem occured!\n";
return 1;
}
// щось виконується
return 0;
}
```
Є декілька попередньо визначених констант, які ви можете використовувати:
- `Controller::EXIT_CODE_NORMAL` зі значенням `0`;
- `Controller::EXIT_CODE_ERROR` зі значенням `1`.
Хорошою практикою є визначення значущих констант для вашого контролера у випадку, якщо ви маєте більше типів помилок.
### Форматування та кольори
Консоль Yii підтримує форматований вивід, який автоматично стане не форматованим, якщо він не підтримується
терміналом, в якому виконується команда.
Виводити форматовані текстові рядки просто. Ось як вивести деякий жирний текст:
```php
$this->stdout("Hello?\n", Console::BOLD);
```
Якщо необхідно побудувати текстовий рядок, динамічно комбінуючи декілька стилів, то найкраще використовувати `ansiFormat`:
```php
$name = $this->ansiFormat('Alex', Console::FG_YELLOW);
echo "Hello, my name is $name.";
```

View File

@ -10,7 +10,7 @@
у конфігураціях дуже зручно. В інших випадках, потрібно обмежувати підтримку псевдонімів шляху. у конфігураціях дуже зручно. В інших випадках, потрібно обмежувати підтримку псевдонімів шляху.
2. **Коли перекладати повідомлення?** 2. **Коли перекладати повідомлення?**
Повідомлення повинні перекладатись, якщо вони показуються кінцевому користувачу та мають для нього значення. Повідомлення статусу HTTP, Повідомлення повинні перекладатись, якщо вони показуються кінцевому користувачу та мають для нього значення. Повідомлення статусу HTTP,
виключення і т.п. не повинні перекладатись. Повідомлення консолі завжди англійською мовою, через труднощі обробки кодування виключення і т. п. не повинні перекладатись. Повідомлення консолі завжди англійською мовою, через труднощі обробки кодування
та кодової сторінки. та кодової сторінки.
3. **[Додавання підтримки нового клієнту аутентифікації](https://github.com/yiisoft/yii2/issues/1652)** 3. **[Додавання підтримки нового клієнту аутентифікації](https://github.com/yiisoft/yii2/issues/1652)**
Для кращого супроводу, ніякі додаткові клієнти аутентифікації не будуть додаватись до базового розширення. Вони Для кращого супроводу, ніякі додаткові клієнти аутентифікації не будуть додаватись до базового розширення. Вони

View File

@ -4,7 +4,7 @@
Будь ласка, дотримуйтесь рекомендацій, зазначених нижче, при створенні питання, щоб прискорити його вирішення: Будь ласка, дотримуйтесь рекомендацій, зазначених нижче, при створенні питання, щоб прискорити його вирішення:
* Подавайте інформацію, включаючи: версію PHP та Yii, тип операційної системи та веб-сервера, тип та версію браузера. * Подавайте інформацію, включаючи: версію PHP та Yii, тип операційної системи та веб-сервера, тип та версію браузера.
* Додавайте **повний** вивід про помилку, якщо є. Скріншот, що пояснює проблему, дуже вітається. * Додавайте **повний** вивід про помилку, якщо є. Знімок екрану, що пояснює проблему, дуже вітається.
* Опишіть кроки, які призводять до помилки. Було б ще краще, надати код для відтворення проблеми. * Опишіть кроки, які призводять до помилки. Було б ще краще, надати код для відтворення проблеми.
* Якщо можливо створіть модульний тест, навіть провальний, та [надішліть його як "pull request"](git-workflow.md). * Якщо можливо створіть модульний тест, навіть провальний, та [надішліть його як "pull request"](git-workflow.md).

View File

@ -73,6 +73,8 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
### Список термінів ### Список термінів
[Англійсько-українські словники](http://e2u.org.ua)
- action — дія; - action — дія;
- active record — (не перекладається); - active record — (не перекладається);
- Advanced/Basic Project Template — Розширений/Базовий шаблон проекту; - Advanced/Basic Project Template — Розширений/Базовий шаблон проекту;
@ -86,6 +88,7 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
- authorization — авторизація/уповноваження; - authorization — авторизація/уповноваження;
- autoloader — автозавантажувач; - autoloader — автозавантажувач;
- back-end — (не перекладається); - back-end — (не перекладається);
- backward compatibility / BC — зворотна сумісність;
- bootstrap, bootstrapping — початкове завантаження; - bootstrap, bootstrapping — початкове завантаження;
- branch — гілка; - branch — гілка;
- browser — браузер; - browser — браузер;
@ -102,14 +105,14 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
- cookies — кукі; - cookies — кукі;
- customization — (тонке) налаштування; - customization — (тонке) налаштування;
- debug mode — режим налагодження (див. production mode); - debug mode — режим налагодження (див. production mode);
- debugger — відладчик; - debugger — налагоджувач;
- (function) declaration — оголошення (функції); - (function) declaration — оголошення (функції);
- definition — визначення; - definition — визначення;
- design pattern — шаблон проектування; - design pattern — шаблон проектування;
- development mode — режим розробки; - development mode — режим розробки;
- (root) directory — (коренева) директорія; - (root) directory — (коренева) директорія;
- eager loading — жадібне завантаження (див. lazy loading); - eager loading — жадібне завантаження (див. lazy loading);
- email address — адреса e-mail; - email address — адреса електронної пошти;
- environment — середовище; - environment — середовище;
- exception — виключення; - exception — виключення;
- existing — наявний/присутній; // перекладати як "існуючий" не вірно - existing — наявний/присутній; // перекладати як "існуючий" не вірно
@ -144,15 +147,18 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
- merge — поєднання; - merge — поєднання;
- Model-View-Controller (MVC) — Модель-Представлення-Контролер (MVC); - Model-View-Controller (MVC) — Модель-Представлення-Контролер (MVC);
- namespace — простір імен; - namespace — простір імен;
- out of the box — "з коробки";
- package — пакунок; - package — пакунок;
- pagination — розділення на сторінки; - pagination — розділення на сторінки;
- parameter — параметр; - parameter — параметр;
- to parse — обробляти; - to parse — обробляти;
- (application) performance — швидкодія (додатка);
- placeholder — заповнювач; - placeholder — заповнювач;
- plugin — плагін; - plugin — плагін;
- postprocessing — після-обробка; - postprocessing — після-обробка;
- predefined — попередньо визначений; - predefined — попередньо визначений;
- production mode — робочий режим (див. debug mode); - production mode — робочий режим (див. debug mode);
- profiling — профілювання;
- property — властивість (обʼєкта); - property — властивість (обʼєкта);
- pull request — (не перекладається); - pull request — (не перекладається);
- query builder — конструктор запитів; - query builder — конструктор запитів;
@ -164,6 +170,7 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
- resolve request — попередня обробка запиту; - resolve request — попередня обробка запиту;
- route, routing — маршрут, маршрутизація; - route, routing — маршрут, маршрутизація;
- row (of the table) — рядок (таблиці); - row (of the table) — рядок (таблиці);
- screenshot — знімок екрану;
- Service Locator — Локатор служб; - Service Locator — Локатор служб;
- setter — сеттер; - setter — сеттер;
- shared hosting — віртуальний хостинг; - shared hosting — віртуальний хостинг;
@ -178,6 +185,7 @@ php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide transl
- theming — темізація; - theming — темізація;
- third party — сторонній; - third party — сторонній;
- thumbnail — мініатюра; - thumbnail — мініатюра;
- tracing — трасування;
- trait — трейт; - trait — трейт;
- Twitter — Твіттер; - Twitter — Твіттер;
- Unicode — (не перекладається); - Unicode — (не перекладається);

View File

@ -23,12 +23,12 @@ use yii\widgets\ActiveForm;
// Призначення властивостей контексту, виклики їх сеттерів, інші речі. // Призначення властивостей контексту, виклики їх сеттерів, інші речі.
$this->title = 'Posts'; $this->title = 'Posts';
?> ?>
<!-- Для foreach, for, if, і т.п. краще використовувати роздільні блоки PHP. --> <!-- Для foreach, for, if, і т. п. краще використовувати роздільні блоки PHP. -->
<?php foreach ($posts as $post): ?> <?php foreach ($posts as $post): ?>
<!-- Тут зверніть увагу на відступи. --> <!-- Тут зверніть увагу на відступи. -->
<h2><?= Html::encode($post['title']) ?></h2> <h2><?= Html::encode($post['title']) ?></h2>
<p><?= Html::encode($post['shortDescription']) ?></p> <p><?= Html::encode($post['shortDescription']) ?></p>
<!-- `endforeach;`, `endfor;`, `endif;`, і т.п. потрібно використовувати замість `}` у випадку використання багатьох блоків PHP --> <!-- `endforeach;`, `endfor;`, `endif;`, і т. п. потрібно використовувати замість `}` у випадку використання багатьох блоків PHP -->
<?php endforeach; ?> <?php endforeach; ?>
<!-- При декларуванні віджету код може міститись як на одному так і на багатьох рядках. --> <!-- При декларуванні віджету код може міститись як на одному так і на багатьох рядках. -->