From 3619a8d276ca081ee5a9fec3c41e0e22cedafaee Mon Sep 17 00:00:00 2001 From: Borales Date: Tue, 13 Jan 2015 00:50:37 +0100 Subject: [PATCH 1/2] [Uk] Messages update [skip ci] --- framework/messages/uk/yii.php | 124 +++++++++++++++++----------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/framework/messages/uk/yii.php b/framework/messages/uk/yii.php index 45045f97c0..fbe78e5e73 100644 --- a/framework/messages/uk/yii.php +++ b/framework/messages/uk/yii.php @@ -17,8 +17,46 @@ * NOTE: this file must be saved in UTF-8 encoding. */ return [ - 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Дозволені файли лише з наступними MIME-типами: {mimeTypes}', - 'The requested view "{name}" was not found.' => 'Представлення "{name}" не знайдено', + 'No help for unknown command "{command}".' => '@@Довідка недоступна для невідомої команди "{command}".@@', + 'No help for unknown sub-command "{command}".' => '@@Довідка недоступна для невідомої субкоманди "{command}".@@', + 'Unknown command "{command}".' => '@@Невідома команда "{command}".@@', + '(not set)' => '(не задано)', + 'An internal server error occurred.' => 'Виникла внутрішня помилка сервера.', + 'Are you sure you want to delete this item?' => 'Ви впевнені, що хочете видалити цей елемент?', + 'Delete' => 'Видалити', + 'Error' => 'Помилка', + 'File upload failed.' => 'Завантаження файлу не вдалося.', + 'Home' => 'Головна', + 'Invalid data received for parameter "{param}".' => 'Отримано невірне значення для параметра "{param}".', + 'Login Required' => 'Необхідно увійти', + 'Missing required arguments: {params}' => 'Відсутні обовʼязкові аргументи: {params}', + 'Missing required parameters: {params}' => 'Відсутні обовʼязкові параметри: {params}', + 'No' => 'Ні', + 'No results found.' => 'Нічого не знайдено.', + 'Only files with these MIME types are allowed: {mimeTypes}.' => 'Дозволені файли лише з наступними MIME-типами: {mimeTypes}.', + 'Only files with these extensions are allowed: {extensions}.' => 'Дозволені файли лише з наступними розширеннями: {extensions}.', + 'Page not found.' => 'Сторінка не знайдена.', + 'Please fix the following errors:' => 'Будь ласка, виправте наступні помилки:', + 'Please upload a file.' => 'Будь ласка, завантажте файл.', + 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Показані {begin, number}-{end, number} із {totalCount, number} {totalCount, plural, one{запису} other{записів}}.', + 'The file "{file}" is not an image.' => 'Файл "{file}" не є зображенням.', + 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Файл "{file}" занадто великий. Розмір не повинен перевищувати {limit, number} {limit, plural, one{байт} few{байта} many{байт} other{байта}}.', + 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Файл "{file}" занадто малий. Розмір повинен бути більше, ніж {limit, number} {limit, plural, one{байт} few{байта} many{байт} other{байта}}.', + 'The format of {attribute} is invalid.' => 'Невірний формат значення "{attribute}".', + 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл "{file}" занадто великий. Висота не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', + 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл "{file}" занадто великий. Ширина не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', + 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл "{file}" занадто малий. Висота повинна бути більше, ніж {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', + 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл "{file}" занадто малий. Ширина повинна бути більше, ніж {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', + 'The requested view "{name}" was not found.' => 'Представлення "{name}" не знайдено.', + 'The verification code is incorrect.' => 'Невірний код перевірки.', + 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Всього {count, number} {count, plural, one{запис} few{записи} many{записів} other{записи}}.', + 'Unable to verify your data submission.' => 'Не вдалося перевірити передані дані.', + 'Unknown option: --{name}' => 'Невідома опція : --{name}', + 'Update' => 'Редагувати', + 'View' => 'Переглянути', + 'Yes' => 'Так', + 'You are not allowed to perform this action.' => 'Вам не дозволено виконувати дану дію.', + 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Ви не можете завантажувати більше {limit, number} {limit, plural, one{файла} few{файлів} many{файлів} other{файла}}.', 'in {delta, plural, =1{a day} other{# days}}' => 'через {delta, plural, =1{день} one{# день} few{# дні} many{# днів} other{# дні}}', 'in {delta, plural, =1{a minute} other{# minutes}}' => 'через {delta, plural, =1{хвилину} one{# хвилину} few{# хвилини} many{# хвилин} other{# хвилини}}', 'in {delta, plural, =1{a month} other{# months}}' => 'через {delta, plural, =1{місяць} one{# місяць} few{# місяці} many{# місяців} other{# місяці}}', @@ -26,6 +64,28 @@ return [ 'in {delta, plural, =1{a year} other{# years}}' => 'через {delta, plural, =1{рік} one{# рік} few{# роки} many{# років} other{# роки}}', 'in {delta, plural, =1{an hour} other{# hours}}' => 'через {delta, plural, =1{годину} one{# годину} few{# години} many{# годин} other{# години}}', 'just now' => 'саме зараз', + 'the input value' => 'введене значення', + '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" вже зайнятий.', + '{attribute} cannot be blank.' => 'Необхідно заповнити "{attribute}".', + '{attribute} is invalid.' => 'Значення "{attribute}" не вірне.', + '{attribute} is not a valid URL.' => 'Значення "{attribute}" не є правильним URL.', + '{attribute} is not a valid email address.' => 'Значення "{attribute}" не є правильною email адресою.', + '{attribute} must be "{requiredValue}".' => 'Значення "{attribute}" має бути рівним "{requiredValue}".', + '{attribute} must be a number.' => 'Значення "{attribute}" має бути числом.', + '{attribute} must be a string.' => 'Значення "{attribute}" має бути рядком.', + '{attribute} must be an integer.' => 'Значення "{attribute}" має бути цілим числом.', + '{attribute} must be either "{true}" or "{false}".' => 'Значення "{attribute}" має дорівнювати "{true}" або "{false}".', + '{attribute} must be greater than "{compareValue}".' => 'Значення "{attribute}" повинно бути більшим значення "{compareValue}".', + '{attribute} must be greater than or equal to "{compareValue}".' => 'Значення "{attribute}" повинно бути більшим або дорівнювати значенню "{compareValue}".', + '{attribute} must be less than "{compareValue}".' => 'Значення "{attribute}" повинно бути меншим значення "{compareValue}".', + '{attribute} must be less than or equal to "{compareValue}".' => 'Значення "{attribute}" повинно бути меншим або дорівнювати значенню "{compareValue}".', + '{attribute} must be no greater than {max}.' => 'Значення "{attribute}" не повинно перевищувати {max}.', + '{attribute} must be no less than {min}.' => 'Значення "{attribute}" має бути більшим {min}.', + '{attribute} must be repeated exactly.' => 'Значення "{attribute}" має бути повторене в точності.', + '{attribute} must not be equal to "{compareValue}".' => 'Значення "{attribute}" не повинно бути рівним "{compareValue}".', + '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити мінімум {min, number} {min, plural, one{символ} few{символа} many{символів} other{символа}}.', + '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити максимум {max, number} {max, plural, one{символ} few{символа} many{символів} other{символа}}.', + '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значення "{attribute}" повинно містити {length, number} {length, plural, one{символ} few{символа} many{символів} other{символа}}.', '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{день} one{день} few{# дні} many{# днів} other{# дні}} тому', '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{хвилину} one{# хвилину} few{# хвилини} many{# хвилин} other{# хвилини}} тому', '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{місяць} one{# місяць} few{# місяці} many{# місяців} other{# місяці}} тому', @@ -54,64 +114,4 @@ return [ '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтів} other{петабайта}}', '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебібайт} few{тебібайта} many{тебібайтів} other{тебібайта}}', '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтів} other{терабайта}}', - '(not set)' => '(не задано)', - 'An internal server error occurred.' => 'Виникла внутрішня помилка сервера.', - 'Are you sure you want to delete this item?' => 'Ви впевнені, що хочете видалити цей елемент?', - 'Delete' => 'Видалити', - 'Error' => 'Помилка', - 'File upload failed.' => 'Завантаження файлу не вдалося.', - 'Home' => 'Головна', - 'Invalid data received for parameter "{param}".' => 'Невірне значення параметра "{param}".', - 'Login Required' => 'Потрібен вхід.', - 'Missing required arguments: {params}' => 'Відсутні обовʼязкові аргументи: {params}', - 'Missing required parameters: {params}' => 'Відсутні обовʼязкові параметри: {params}', - 'No' => 'Ні', - 'No help for unknown command "{command}".' => 'Довідка недоступна для невідомої команди "{command}".', - 'No help for unknown sub-command "{command}".' => 'Довідка недоступна для невідомої субкоманди "{command}".', - 'No results found.' => 'Нічого не знайдено.', - 'Only files with these extensions are allowed: {extensions}.' => 'Дозволене завантаження файлів тільки з наступними розширеннями: {extensions}.', - 'Page not found.' => 'Сторінка не знайдена.', - 'Please fix the following errors:' => 'Будь ласка, виправте наступні помилки:', - 'Please upload a file.' => 'Будь ласка, завантажте файл.', - 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => 'Показані записи {begin, number}-{end, number} із {totalCount, number}.', - 'The file "{file}" is not an image.' => 'Файл «{file}» не є зображенням.', - 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Файл «{file}» занадто великий. Розмір не повинен перевищувати {limit, number} {limit, plural, one{байт} few{байта} many{байт} other{байта}}.', - 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Файл «{file}» занадто маленький. Розмір повинен бути більше, ніж {limit, number} {limit, plural, one{байт} few{байта} many{байт} other{байта}}.', - 'The format of {attribute} is invalid.' => 'Невірний формат значення «{attribute}».', - 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» занадто великий. Висота не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', - 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» занадто великий. Ширина не повинна перевищувати {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', - 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» занадто маленький. Висота повинна бути більше, ніж {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', - 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» занадто маленький. Ширина повинна бути більше, ніж {limit, number} {limit, plural, one{піксель} few{пікселя} many{пікселів} other{пікселя}}.', - 'The verification code is incorrect.' => 'Неправильний код перевірки.', - 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Всього {count, number} {count, plural, one{запис} few{записи} many{записів} other{записи}}.', - 'Unable to verify your data submission.' => 'Не вдалося перевірити передані дані.', - 'Unknown command "{command}".' => 'Невідома команда "{command}".', - 'Unknown option: --{name}' => 'Невідома опція : --{name}', - 'Update' => 'Редагувати', - 'View' => 'Перегляд', - 'Yes' => 'Так', - 'You are not allowed to perform this action.' => 'Вам не дозволено проводити дану дію.', - 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Ви не можете завантажувати більше {limit, number} {limit, plural, one{файла} few{файлів} many{файлів} other{файла}}.', - 'the input value' => 'введене значення', - '{attribute} "{value}" has already been taken.' => '{attribute} «{value}» вже зайнятий.', - '{attribute} cannot be blank.' => 'Необхідно заповнити «{attribute}».', - '{attribute} is invalid.' => 'Значення «{attribute}» не вірне.', - '{attribute} is not a valid URL.' => 'Значення «{attribute}» не є правильним URL.', - '{attribute} is not a valid email address.' => 'Значення «{attribute}» не є правильною email адресою.', - '{attribute} must be "{requiredValue}".' => 'Значення «{attribute}» має бути рівним «{requiredValue}».', - '{attribute} must be a number.' => 'Значення «{attribute}» має бути числом.', - '{attribute} must be a string.' => 'Значення «{attribute}» має бути рядком.', - '{attribute} must be an integer.' => 'Значення «{attribute}» має бути цілим числом.', - '{attribute} must be either "{true}" or "{false}".' => 'Значення «{attribute}» має дорівнювати «{true}» або «{false}».', - '{attribute} must be greater than "{compareValue}".' => 'Значення «{attribute}» повинно бути більшим значення «{compareValue}».', - '{attribute} must be greater than or equal to "{compareValue}".' => 'Значення «{attribute}» повинно бути більшим або дорівнювати значенню «{compareValue}».', - '{attribute} must be less than "{compareValue}".' => 'Значення «{attribute}» повинно бути меншим значення «{compareValue}».', - '{attribute} must be less than or equal to "{compareValue}".' => 'Значення «{attribute}» повинно бути меншим або дорівнювати значенню «{compareValue}».', - '{attribute} must be no greater than {max}.' => 'Значення «{attribute}» не повинно перевищувати {max}.', - '{attribute} must be no less than {min}.' => 'Значення «{attribute}» має бути більшим {min}.', - '{attribute} must be repeated exactly.' => 'Значення «{attribute}» має бути повторене в точності.', - '{attribute} must not be equal to "{compareValue}".' => 'Значення «{attribute}» не повинно бути рівним «{compareValue}».', - '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значення «{attribute}» повинно містити мінімум {min, number} {min, plural, one{символ} few{символа} many{символів} other{символа}}.', - '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значення «{attribute}» повинно містити максимум {max, number} {max, plural, one{символ} few{символа} many{символів} other{символа}}.', - '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значення «{attribute}» повинно містити {length, number} {length, plural, one{символ} few{символа} many{символів} other{символа}}.', ]; From 29b115a82db8dae6c5de8ebf48b448cc9f88d701 Mon Sep 17 00:00:00 2001 From: Borales Date: Tue, 13 Jan 2015 05:19:44 +0100 Subject: [PATCH 2/2] [Uk] Guide corrections [skip ci] --- docs/guide-uk/README.md | 8 ++-- docs/guide-uk/intro-upgrade-from-v1.md | 53 +++++++++++++++++++++----- docs/guide-uk/intro-yii.md | 32 +++++++++------- docs/guide-uk/start-looking-ahead.md | 1 + 4 files changed, 65 insertions(+), 29 deletions(-) diff --git a/docs/guide-uk/README.md b/docs/guide-uk/README.md index 46ed3dee51..6d985d15b5 100644 --- a/docs/guide-uk/README.md +++ b/docs/guide-uk/README.md @@ -97,8 +97,8 @@ All Rights Reserved. ------------------ * [Форматування даних](output-formatter.md) -* **TBD** [Посторінкове розбиття](output-pagination.md) -* **TBD** [Сортування](output-sorting.md) +* [Посторінкове розбиття](output-pagination.md) +* [Сортування](output-sorting.md) * [Провайдери даних](output-data-providers.md) * [Віджети даних](output-data-widgets.md) * [Робота з клієнтськими скриптами](output-client-scripts.md) @@ -185,7 +185,7 @@ RESTful веб-сервіси * LinkPager: **TBD** link to demo page * LinkSorter: **TBD** link to demo page * [Віджети Bootstrap](widget-bootstrap.md) -* [Віджети Jquery UI](widget-jui.md) +* [Віджети jQuery UI](widget-jui.md) Хелпери @@ -195,5 +195,3 @@ RESTful веб-сервіси * [ArrayHelper](helper-array.md) * [Html](helper-html.md) * [Url](helper-url.md) -* **TBD** [Security](helper-security.md) - diff --git a/docs/guide-uk/intro-upgrade-from-v1.md b/docs/guide-uk/intro-upgrade-from-v1.md index d3eb028e0a..edea6ae3ae 100644 --- a/docs/guide-uk/intro-upgrade-from-v1.md +++ b/docs/guide-uk/intro-upgrade-from-v1.md @@ -20,7 +20,7 @@ Yii 2.0 повністю заснований на [Composer](https://getcompose Установка фреймворка, також як і розширень, здійснюється через Composer. Більш детальні відомості по встановленню Yii 2.0 приведені в розділі [Встановлення Yii](start-installation.md). Відомості про те, як створювати розширення для Yii 2.0 або адаптувати вже наявні розширення для версії 1.1 під версію 2.0, наведені в розділі -[Створення розширень](extend-creating-extensions.md). +[Створення розширень](structure-extensions.md#creating-extensions). Вимоги PHP @@ -148,7 +148,7 @@ Yii 2.0 розширює спосіб використання псевдоні псевдонім шляху `@Zend`, який відповідає каталогу встановлення фреймворка. Одного разу зробивши це - Yii буде здатний автоматично завантажувати будь-який клас Zend Framework. -Більш детальна інформація про конфігурації представлена у розділі [Псевдоніми шляху](concept-aliases.md). +Більш детальна інформація про конфігурації представлена у розділі [Псевдонімів](concept-aliases.md). Представлення @@ -213,8 +213,8 @@ public function scenarios() Контролери ---------- -В якості базового класу для контролерів в Yii 2.0 використовується [[yii\web\Controller]], -аналогічний `CWebController` у Yii 1.1. Базовим класом для всіх дій є [[yii\base\Action]]. +В якості базового класу для контролерів в Yii 2.0 використовується [[yii\web\Controller]], який є +аналогічним `CController` у Yii 1.1. Базовим класом для всіх дій є [[yii\base\Action]]. Однією із основних змін є те, що дія контролера тепер має повернути результат замість того, щоб напряму виводити його: @@ -472,8 +472,40 @@ public function init() [Active Record](db-active-record.md). -Компонент додатку `user` ------------------------- +Поведінки Active Record +----------------------- + +У версії 2.0 ми позбулися від класу базової поведінки `CActiveRecordBehavior`. Якщо ви хочете створити поведінку +Active Record, ви повинні будете розширити класс `yii\base\Behavior`. Якщо класу поведінки необхідно реагувати на +деякі події власника, ви повинні перевизначити метод `events()`, як показано нижче, + +```php +namespace app\components; + +use yii\db\ActiveRecord; +use yii\base\Behavior; + +class MyBehavior extends Behavior +{ + // ... + + public function events() + { + return [ + ActiveRecord::EVENT_BEFORE_VALIDATE => 'beforeValidate', + ]; + } + + public function beforeValidate($event) + { + // ... + } +} +``` + + +User та IdentityInterface +------------------------- Клас `CWebUser` у версії 1.1 тепер замінений класом [[yii\web\User]], а також більше не існує класу `CUserIdentity`. Замість цього, ви повинні надати реалізацію інтерфейсу [[yii\web\IdentityInterface]], що набагато простіше у використанні. @@ -482,8 +514,8 @@ public function init() [Авторизація](security-authorization.md) та [Шаблон додатка advanced](tutorial-advanced-app.md). -Розбір та генерація URL ------------------------ +Управління URL +-------------- Робота з URL в Yii 2.0 аналогічна тій, що була у версії 1.1. Основна зміна полягає в тому, що тепер підтримуються додаткові параметри. Наприклад, якщо у вас є правило, оголошене наступним чином, то воно співпаде з `post/popular` та @@ -497,10 +529,11 @@ public function init() ] ``` -Більш детальна інформація представлена у розділі [Розбір та генерація URL](runtime-url-handling.md). +Більш детальна інформація представлена у розділі [Розбір та генерація URL](runtime-routing.md). + Використання Yii 1.1 разом із 2.x --------------------------------- Інформація про використання коду для Yii 1.1 разом із Yii 2.0 представлена у розділі -[Одночасне використання Yii 1.1 та 2.0](extend-using-v1-v2.md). +[Одночасне використання Yii 1.1 та 2.0](tutorial-yii-integration.md). diff --git a/docs/guide-uk/intro-yii.md b/docs/guide-uk/intro-yii.md index f8b7d063e4..471582e934 100644 --- a/docs/guide-uk/intro-yii.md +++ b/docs/guide-uk/intro-yii.md @@ -9,25 +9,29 @@ Yii – це високопродуктивний компонентний PHP Для яких завдань найбільше підходить Yii? ----------------------------------------- -Yii – це універсальний фреймворк і може бути задіяний у всіх типах веб додатків. Завдяки його компонентній структурі -і відмінній підтримці кешування, фреймворк особливо підходить для розробки таких великих проектів як портали, -форуми, CMS, магазини або RESTful-додатки. +Yii – це універсальний фреймворк і може бути задіяний у всіх типах веб додатків, що використовують PHP. +Завдяки його компонентній структурі і відмінній підтримці кешування, фреймворк особливо підходить для розробки +таких великих проектів як портали, форуми, CMS, магазини або RESTful-додатки. Порівняння Yii з іншими фреймворками ------------------------------------ -- Як і багато інших PHP фреймворків, для організації коду Yii використовує модель MVC (Model-View-Controller). -- Yii дотримується філософії простого й елегантного коду, не намагаючись ускладнювати дизайн тільки заради слідування - будь-яким шаблонами проектування. -- Yii є full-stack фреймворком і включає в себе перевірені можливості, які добре себе зарекомендували, - такі як ActiveRecord для реляційних та NoSQL баз даних, підтримку REST API, багаторівневе кешування та інші. -- Yii відмінно розширюваний. Ви можете налаштувати або замінити практично будь-яку частину основного коду. - Використовуючи архітектуру розширень - легко ділитися кодом або використовувати код спільноти. +Якщо ви вже знайомі з іншими фреймворками, вам напевно буде цікаво порівняти їх із Yii: + +- Як і багато інших PHP фреймворків, для організації коду Yii використовує модель MVC (Model-View-Controller) та + сприяє у організації коду на цій моделі. +- Yii дотримується філософії простого й елегантного коду. Yii ніколи не буде намагатись переускладнювати дизайн + тільки заради слідування будь-яким шаблонами проектування. +- Yii є full-stack фреймворком і включає в себе перевірені можливості, які добре себе зарекомендували: + конструктори запитів та ActiveRecord для реляційних та NoSQL баз даних, підтримка REST API, + багаторівневе кешування та інші. +- Yii надзвичайно розширюваний. Ви можете налаштувати або замінити практично будь-яку частину основного коду. + Використовуючи архітектуру розширень - досить легко використовувати або створювати публічні розширення. - Висока продуктивність завжди є головною ціллю Yii. Yii — не проект однієї людини. Він підтримується і розвивається [сильною командою][] і великою спільнотою розробників, -які їй допомагають. Розробники фреймворка стежать за тенденціями веб розробки і розвитком інших проектів. +які їй допомагають. Команда розробників Yii фреймворка стежать за тенденціями веб розробки і розвитком інших проектів. Найбільш значимі можливості і кращі практики регулярно впроваджуються у фреймворк у вигляді простих і елегантних інтерфейсів. [сильна команда розробників]: http://www.yiiframework.com/about/ @@ -37,8 +41,8 @@ Yii — не проект однієї людини. Він підтримуєт На даний момент існує дві основні гілки Yii: 1.1 та 2.0. Гілка 1.1 є попереднім поколінням і знаходиться у стані підтримки. Версія 2.0 - це повністю переписаний Yii, що використовує останні технології і протоколи, такі як Composer, PSR, простори імен, -типажі (traits) і багато іншого. 2.0 - останнє покоління фреймворка. На цій версії будуть зосереджені основні зусилля -кілька наступних років. Даний посібник призначений в основному версії 2.0. +типажі (traits) і багато іншого. 2.0 - поточне покоління фреймворка. На цій версії будуть зосереджені основні зусилля +кілька наступних років. Даний посібник призначений в основному для версії 2.0. Вимоги до ПЗ і знань @@ -47,6 +51,6 @@ Yii — не проект однієї людини. Він підтримуєт Yii 2.0 потребує PHP 5.4.0 та вище. Щоб дізнатися вимоги для окремих можливостей ви можете запустити скрипт перевірки вимог, який поставляється із кожним релізом фреймворка. -Для розробки на Yii буде потрібне загальне розуміння ООП, так як фреймворк повністю слідує цій парадигмі. +Для розробки на Yii необхідне загальне розуміння ООП, так як фреймворк повністю слідує цій парадигмі. Також слід вивчити такі сучасні можливості PHP як [простори імен](http://www.php.net/manual/en/language.namespaces.php) і [типажі](http://www.php.net/manual/en/language.oop5.traits.php). diff --git a/docs/guide-uk/start-looking-ahead.md b/docs/guide-uk/start-looking-ahead.md index 1f04f50b3d..f305a7f2a6 100644 --- a/docs/guide-uk/start-looking-ahead.md +++ b/docs/guide-uk/start-looking-ahead.md @@ -30,3 +30,4 @@ - Facebook: - Twitter: - LinkedIn: + - Stackoverflow: