diff --git a/docs/guide-uk/concept-aliases.md b/docs/guide-uk/concept-aliases.md index d12501d..cebb691 100644 --- a/docs/guide-uk/concept-aliases.md +++ b/docs/guide-uk/concept-aliases.md @@ -1,12 +1,16 @@ Псевдоніми ========== -Псевдоніми використовуються для позначення шляхів до файлів або URL адрес і допомагають уникнути використання абсолютних шляхів -або URL в коді. Для того, щоб не переплутати псевдонім із звичайним шляхом до файлу або URL, він повинен починатися з `@`. В Yii -є багато заздалегідь визначених псевдонімів. Наприклад, `@yii` вказує на директорію, в яку був встановлений -Yii framework, а `@web` можна використовувати для отримання базового URL поточного додатку. - - +Псевдоніми використовуються для представлення шляхів до файлів або URL адрес +і допомагають уникнути використання абсолютних шляхів або URL у коді. +Для того, щоб не переплутати псевдонім із звичайним шляхом до файлу або URL, +він повинен починатися із символу `@`. Якщо псевдонім не починається із +символу `@` - його буде додано автоматично. + +В Yii є багато заздалегідь визначених псевдонімів. Наприклад, +`@yii` вказує на директорію, в яку був встановлений Yii framework, +а `@web` можна використовувати для отримання базового URL поточного додатку. + Створення псевдонімів --------------------- diff --git a/docs/guide-uk/images/tutorial-console-help.png b/docs/guide-uk/images/tutorial-console-help.png index 34812a6..6813a96 100644 Binary files a/docs/guide-uk/images/tutorial-console-help.png and b/docs/guide-uk/images/tutorial-console-help.png differ diff --git a/docs/guide-uk/intro-yii.md b/docs/guide-uk/intro-yii.md index b8436b5..1461cb3 100644 --- a/docs/guide-uk/intro-yii.md +++ b/docs/guide-uk/intro-yii.md @@ -19,7 +19,7 @@ Yii – це універсальний фреймворк і може бути Якщо ви вже знайомі з іншими фреймворками, вам напевно буде цікаво порівняти їх із Yii: -- Як і багато інших PHP-фреймворків, Yii втілює шаблон проектування MVC (Model-View-Controller) та +- Як і багато інших PHP-фреймворків, Yii втілює архітектурний шаблон MVC (Model-View-Controller) та сприяє організації коду відповідно до вимог шаблону. - Yii дотримується філософії простого й елегантного коду. Yii ніколи не буде намагатись пере-ускладнювати дизайн тільки заради слідування будь-яким шаблонам проектування. diff --git a/docs/guide-uk/rest-rate-limiting.md b/docs/guide-uk/rest-rate-limiting.md index 1ead3c7..fd35aef 100644 --- a/docs/guide-uk/rest-rate-limiting.md +++ b/docs/guide-uk/rest-rate-limiting.md @@ -19,6 +19,27 @@ до даних поточного аутентифікованого користувача. Для покращення швидкодії можна спробувати зберігати цю інформацію в кеш чи NoSQL-сховищі. +Реалізація у моделі `User` може виглядати наступним чином: + +```php +public function getRateLimit($request, $action) +{ + return [$this->rateLimit, 1]; // $rateLimit requests per second +} + +public function loadAllowance($request, $action) +{ + return [$this->allowance, $this->allowance_updated_at]; +} + +public function saveAllowance($request, $action, $allowance, $timestamp) +{ + $this->allowance = $allowance; + $this->allowance_updated_at = $timestamp; + $this->save(); +} +``` + Як тільки відповідний інтерфейс буде реалізований у класі identity, Yii почне автоматично перевіряти обмеження частоти запитів за допомогою фільтра дій [[yii\filters\RateLimiter]] для [[yii\rest\Controller]]. При перевищенні обмежень буде викинуто виключення [[yii\web\TooManyRequestsHttpException]]. diff --git a/docs/guide-uk/start-databases.md b/docs/guide-uk/start-databases.md index b1eb549..368c742 100644 --- a/docs/guide-uk/start-databases.md +++ b/docs/guide-uk/start-databases.md @@ -220,7 +220,7 @@ use yii\widgets\LinkPager; Щоб побачити як весь вищезазначений код працює, відкрийте в браузері наступний URL: ``` -http://hostname/index.php?r=country/index +http://hostname/index.php?r=country%2Findex ``` ![Перелік країн](images/start-country-list.png) @@ -230,7 +230,7 @@ http://hostname/index.php?r=country/index Придивившись більш уважно, ви побачите, що URL в браузері також змінюється на ``` -http://hostname/index.php?r=country/index&page=2 +http://hostname/index.php?r=country%2Findex&page=2 ``` За лаштунками, [[yii\data\Pagination|Pagination]] надає всю необхідну функціональність для розділення набору даних на сторінки: diff --git a/docs/guide-uk/start-forms.md b/docs/guide-uk/start-forms.md index 59ce96c..f859bfa 100644 --- a/docs/guide-uk/start-forms.md +++ b/docs/guide-uk/start-forms.md @@ -187,7 +187,7 @@ use yii\widgets\ActiveForm; Щоб побачити, як це працює, відкрийте в браузері наступний URL: ``` -http://hostname/index.php?r=site/entry +http://hostname/index.php?r=site%2Fentry ``` Ви побачите сторінку з формою і двома полями для заповнення. Перед кожним полем є надпис, який вказує, яку саме diff --git a/docs/guide-uk/start-gii.md b/docs/guide-uk/start-gii.md index 4aba00e..1d16526 100644 --- a/docs/guide-uk/start-gii.md +++ b/docs/guide-uk/start-gii.md @@ -112,7 +112,7 @@ CRUD - це акронім від англійських слів Create, Read, Щоб побачити як це працює, відкрийте в браузері наступний URL: ``` -http://hostname/index.php?r=country/index +http://hostname/index.php?r=country%2Findex ``` Ви побачите таблицю даних, що показує країни з таблиці бази даних. Ви можете відсортувати дані, diff --git a/docs/guide-uk/start-hello.md b/docs/guide-uk/start-hello.md index 8c0f128..dae433b 100644 --- a/docs/guide-uk/start-hello.md +++ b/docs/guide-uk/start-hello.md @@ -102,7 +102,7 @@ use yii\helpers\Html; Після створення дії і представлення, ви можете перейти на нову сторінку по наступному URL: ``` -http://hostname/index.php?r=site/say&message=Привіт+світ +http://hostname/index.php?r=site%2Fsay&message=Привіт+світ ``` ![Привіт, світ](images/start-hello-world.png) diff --git a/docs/guide-uk/start-installation.md b/docs/guide-uk/start-installation.md index 479311f..480ea4a 100644 --- a/docs/guide-uk/start-installation.md +++ b/docs/guide-uk/start-installation.md @@ -98,24 +98,39 @@ Перевірка встановлення ---------------------- -Після встановлення, ви можете використовувати свій браузер для доступу до встановленого додатку Yii за наступним URL: +Після успішного встановлення ви можете налаштувати свій веб-сервер (див. наступний розділ) +або використати [вбудований веб-сервер PHP](https://secure.php.net/manual/en/features.commandline.webserver.php), +виконавши наступну консольну команду із директорії `web`: +```bash +php yii serve ``` -http://localhost/basic/web/index.php + +> Note: За замовчуванням, HTTP-server буде прослуховувати 8080 порт. Проте, +якщо цей порт вже використовується або Ви бажаєте таким чимнов використовувати +кілька додатків одразу - Ви можете встановити який саме порт використовувати. +Тільки додайтие аргумент --port: + +```bash +php yii serve --port=8888 ``` -Даний URL припускає, що Yii встановлено в директорію `basic` у базовій директорії вашого локального веб-сервера (`localhost`). -Вам, можливо, буде потрібно налаштувати його на своїй системі. +Тепер ви можете використати свій браузер для доступу до встановленого Yii додатку +за наступним посиланням: + +``` +http://localhost:8080/ +``` ![Успішно встановлений Yii](images/start-app-installed.png) Ви повинні побачити сторінку із привітанням "Congratulations!" у вашому браузері. Якщо ж ні, будь ласка, перевірте, чи задовольняють налаштування PHP вимоги Yii. Це можна зробити одним із наведених способів: -* Використайте браузер для доступу до URL `http://localhost/basic/requirements.php` -* Або виконайте наступні команди в консолі: +* Скопіюйте `/requirements.php` файл до `/web/requirements.php` та використайте браузер для доступу до URL `http://localhost/requirements.php` +* Виконайте наступні команди в консолі: - ``` + ```bash cd basic php requirements.php ``` diff --git a/docs/guide-uk/start-looking-ahead.md b/docs/guide-uk/start-looking-ahead.md index d427e95..40a58b8 100644 --- a/docs/guide-uk/start-looking-ahead.md +++ b/docs/guide-uk/start-looking-ahead.md @@ -26,6 +26,7 @@ * Спільнота - Форум: - Чат IRC: Канал #yii мережі freenode () + - Gitter chat: - GitHub: - Фейсбук: - Твіттер: diff --git a/docs/guide-uk/structure-overview.md b/docs/guide-uk/structure-overview.md index 2fb619e..b61630e 100644 --- a/docs/guide-uk/structure-overview.md +++ b/docs/guide-uk/structure-overview.md @@ -1,7 +1,7 @@ Огляд ===== -Додатки Yii організовані згідно шаблону проектування [Модель-Представлення-Контролер (MVC)](http://uk.wikipedia.org/wiki/Модель-вид-контролер). +Додатки Yii організовані згідно архітектурного шаблону [Модель-Представлення-Контролер (MVC)](http://uk.wikipedia.org/wiki/Модель-вид-контролер). [Моделі](structure-models.md) являють собою дані, бізнес-логіку та бізнес-правила; [представлення](structure-views.md) відповідають за відображення даних моделей; [контролери](structure-controllers.md) приймають вхідні дані від користувача і перетворюють їх у команди для diff --git a/docs/guide-uk/structure-views.md b/docs/guide-uk/structure-views.md index 261cac3..272c5c9 100644 --- a/docs/guide-uk/structure-views.md +++ b/docs/guide-uk/structure-views.md @@ -694,7 +694,7 @@ class SiteController extends Controller відображення цього представлення за наступною URL-адресою: ``` -http://localhost/index.php?r=site/page&view=about +http://localhost/index.php?r=site%2Fpage&view=about ``` Параметр `view` із запиту `GET` вказує автономній дії [[yii\web\ViewAction]], яке представлення запитане. Потім дія здійснює пошук diff --git a/docs/guide-uk/tutorial-console.md b/docs/guide-uk/tutorial-console.md index 8ee2d96..1e0f066 100644 --- a/docs/guide-uk/tutorial-console.md +++ b/docs/guide-uk/tutorial-console.md @@ -126,6 +126,46 @@ yii --appconfig=path/to/config.php ... Якщо значення за замовчуванням для опції є масивом і ви задаєте цю опцію під час виконання команди, то значення опції буде перетворене у масив розділенням вхідного текстового рядка за комами. +### Псевдоніми опцій + +Починаючи із версії 2.0.8 консольна команда надає [[yii\console\Controller::optionAliases()]] +метод для створення псевдонімів для опцій. + +Щоб визначити псевдонім, потрібно перевизначити [[yii\console\Controller::optionAliases()]] метод +у вашому контролері, наприклад: + +```php +namespace app\commands; + +use yii\console\Controller; + +class HelloController extends Controller +{ + public $message; + + public function options() + { + return ['message']; + } + + public function optionAliases() + { + return ['m' => 'message']; + } + + public function actionIndex() + { + echo $message . "\n"; + } +} +``` + +Тепер ви зможете використовувати наступний синтакс для запуску команди: + +``` +./yii hello -m=hola +``` + ### Аргументи Окрім опцій, команда також може приймати аргументи. Аргументи будуть передані як параметри до методу дії @@ -169,7 +209,7 @@ class ExampleController extends \yii\console\Controller public function actionIndex() { if (/* деяка проблема */) { - echo "A problem occured!\n"; + echo "A problem occurred!\n"; return 1; } // щось виконується diff --git a/docs/guide-uk/tutorial-yii-integration.md b/docs/guide-uk/tutorial-yii-integration.md index 2668cdd..6a687cf 100644 --- a/docs/guide-uk/tutorial-yii-integration.md +++ b/docs/guide-uk/tutorial-yii-integration.md @@ -92,6 +92,22 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php'; Перша команда встановлює [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/), який дозволяє керувати залежностями пакунків Bower і NPM через Composer. Навіть якщо ви захочете використовувати тільки прошарки бази даних або інші, не повʼязані ресурсами, можливості Yii, вам все-одно необхідно встановити даний пакунок composer. + +Якщо ви бажаєте використовувати [можливість публікації ресурсів Yii](structure-assets.md), +вам також слід додати наступну конфігурацію до розділу `extra` вашого файлу `composer.json`: + +```json +{ + ... + "extra": { + "asset-installer-paths": { + "npm-asset-library": "vendor/npm", + "bower-asset-library": "vendor/bower" + } + } +} +``` + Дивіться також загальний [розділ про встановлення Yii](start-installation.md#installing-via-composer), для отримання додаткової інформації про Composer та проблеми, які можуть виникнути під час встановлення. diff --git a/docs/guide/tutorial-console.md b/docs/guide/tutorial-console.md index 5ac91d8..a8daa89 100644 --- a/docs/guide/tutorial-console.md +++ b/docs/guide/tutorial-console.md @@ -132,7 +132,7 @@ the option value will be converted into an array by splitting the input string o ### Options Aliases Since version 2.0.8 console command provides [[yii\console\Controller::optionAliases()]] method to add -aliases for commands. +aliases for options. To define an alias, override [[yii\console\Controller::optionAliases()]] in your controller, for example: