mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 14:46:19 +08:00 
			
		
		
		
	Merge pull request #8250 from vchenin/docs_uk
Update Ukrainian translation
This commit is contained in:
		@ -1,5 +1,5 @@
 | 
			
		||||
Повний посібник до 2.0
 | 
			
		||||
======================
 | 
			
		||||
Повний посібник з Yii 2.0
 | 
			
		||||
=========================
 | 
			
		||||
 | 
			
		||||
Даний посібник випущено відповідно до [положень про документацію Yii](http://www.yiiframework.com/doc/terms/).
 | 
			
		||||
 | 
			
		||||
@ -35,49 +35,49 @@ All Rights Reserved.
 | 
			
		||||
* [Додатки](structure-applications.md)
 | 
			
		||||
* [Компоненти додатка](structure-application-components.md)
 | 
			
		||||
* [Контролери](structure-controllers.md)
 | 
			
		||||
* [Моделі](structure-models.md)
 | 
			
		||||
* [Представлення](structure-views.md)
 | 
			
		||||
* [Модулі](structure-modules.md)
 | 
			
		||||
* [Фільтри](structure-filters.md)
 | 
			
		||||
* [Віджети](structure-widgets.md)
 | 
			
		||||
* [Ресурси](structure-assets.md)
 | 
			
		||||
* [Розширення](structure-extensions.md)
 | 
			
		||||
* **TBD** [Моделі](structure-models.md)
 | 
			
		||||
* **TBD** [Представлення](structure-views.md)
 | 
			
		||||
* **TBD** [Модулі](structure-modules.md)
 | 
			
		||||
* **TBD** [Фільтри](structure-filters.md)
 | 
			
		||||
* **TBD** [Віджети](structure-widgets.md)
 | 
			
		||||
* **TBD** [Ресурси](structure-assets.md)
 | 
			
		||||
* **TBD** [Розширення](structure-extensions.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Обробка запитів
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
* [Огляд](runtime-overview.md)
 | 
			
		||||
* [Bootstrapping](runtime-bootstrapping.md)
 | 
			
		||||
* [Маршрутизація та створення URL](runtime-routing.md)
 | 
			
		||||
* [Запити](runtime-requests.md)
 | 
			
		||||
* [Відповіді](runtime-responses.md)
 | 
			
		||||
* [Сесії та кукі](runtime-sessions-cookies.md)
 | 
			
		||||
* [Обробка помилок](runtime-handling-errors.md)
 | 
			
		||||
* [Логування](runtime-logging.md)
 | 
			
		||||
* **TBD** [Огляд](runtime-overview.md)
 | 
			
		||||
* **TBD** [Bootstrapping](runtime-bootstrapping.md)
 | 
			
		||||
* **TBD** [Маршрутизація та створення URL](runtime-routing.md)
 | 
			
		||||
* **TBD** [Запити](runtime-requests.md)
 | 
			
		||||
* **TBD** [Відповіді](runtime-responses.md)
 | 
			
		||||
* **TBD** [Сесії та кукі](runtime-sessions-cookies.md)
 | 
			
		||||
* **TBD** [Обробка помилок](runtime-handling-errors.md)
 | 
			
		||||
* **TBD** [Логування](runtime-logging.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Основні поняття
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
* [Компоненти](concept-components.md)
 | 
			
		||||
* [Властивості](concept-properties.md)
 | 
			
		||||
* [Події](concept-events.md)
 | 
			
		||||
* [Поведінки](concept-behaviors.md)
 | 
			
		||||
* [Конфігурації](concept-configurations.md)
 | 
			
		||||
* **TBD** [Компоненти](concept-components.md)
 | 
			
		||||
* **TBD** [Властивості](concept-properties.md)
 | 
			
		||||
* **TBD** [Події](concept-events.md)
 | 
			
		||||
* **TBD** [Поведінки](concept-behaviors.md)
 | 
			
		||||
* **TBD** [Конфігурації](concept-configurations.md)
 | 
			
		||||
* [Псевдоніми](concept-aliases.md)
 | 
			
		||||
* [Автозавантаження класів](concept-autoloading.md)
 | 
			
		||||
* [Service Locator](concept-service-locator.md)
 | 
			
		||||
* [Dependency Injection Container](concept-di-container.md)
 | 
			
		||||
* **TBD** [Service Locator](concept-service-locator.md)
 | 
			
		||||
* **TBD** [Dependency Injection Container](concept-di-container.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Робота з базами даних
 | 
			
		||||
---------------------
 | 
			
		||||
 | 
			
		||||
* [Обʼєкти доступу до даних (DAO)](db-dao.md) - Зʼєднання з базою даних, прості запити, транзакції і робота зі схемою
 | 
			
		||||
* [Конструктор запитів](db-query-builder.md) - Запити до бази даних через простий шар абстракції
 | 
			
		||||
* [Active Record](db-active-record.md) - Отримання обʼєктів AR, робота з ними та визначення звʼязків
 | 
			
		||||
* [Міграції](db-migrations.md) - Контроль версій схеми даних при роботі в команді
 | 
			
		||||
* **TBD** [Обʼєкти доступу до даних (DAO)](db-dao.md) - Зʼєднання з базою даних, прості запити, транзакції і робота зі схемою
 | 
			
		||||
* **TBD** [Конструктор запитів](db-query-builder.md) - Запити до бази даних через простий шар абстракції
 | 
			
		||||
* **TBD** [Active Record](db-active-record.md) - Отримання обʼєктів AR, робота з ними та визначення звʼязків
 | 
			
		||||
* **TBD** [Міграції](db-migrations.md) - Контроль версій схеми даних при роботі в команді
 | 
			
		||||
* [Sphinx](https://github.com/yiisoft/yii2-sphinx/blob/master/docs/guide/README.md)
 | 
			
		||||
* [Redis](https://github.com/yiisoft/yii2-redis/blob/master/docs/guide/README.md)
 | 
			
		||||
* [MongoDB](https://github.com/yiisoft/yii2-mongodb/blob/master/docs/guide/README.md)
 | 
			
		||||
@ -87,91 +87,91 @@ All Rights Reserved.
 | 
			
		||||
Отримання даних від користувача
 | 
			
		||||
-------------------------------
 | 
			
		||||
 | 
			
		||||
* [Створення форм](input-forms.md)
 | 
			
		||||
* [Валідація вводу](input-validation.md)
 | 
			
		||||
* [Завантаження файлів](input-file-uploading.md)
 | 
			
		||||
* [Збір табличного вводу](input-tabular-input.md)
 | 
			
		||||
* [Робота з декількома моделями](input-multiple-models.md)
 | 
			
		||||
* **TBD** [Створення форм](input-forms.md)
 | 
			
		||||
* **TBD** [Валідація вводу](input-validation.md)
 | 
			
		||||
* **TBD** [Завантаження файлів](input-file-uploading.md)
 | 
			
		||||
* **TBD** [Збір табличного вводу](input-tabular-input.md)
 | 
			
		||||
* **TBD** [Робота з декількома моделями](input-multiple-models.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Відображення даних
 | 
			
		||||
------------------
 | 
			
		||||
 | 
			
		||||
* [Форматування даних](output-formatting.md)
 | 
			
		||||
* [Посторінкове розбиття](output-pagination.md)
 | 
			
		||||
* [Сортування](output-sorting.md)
 | 
			
		||||
* [Провайдери даних](output-data-providers.md)
 | 
			
		||||
* [Віджети даних](output-data-widgets.md)
 | 
			
		||||
* [Робота з клієнтськими скриптами](output-client-scripts.md)
 | 
			
		||||
* [Темізація](output-theming.md)
 | 
			
		||||
* **TBD** [Форматування даних](output-formatting.md)
 | 
			
		||||
* **TBD** [Посторінкове розбиття](output-pagination.md)
 | 
			
		||||
* **TBD** [Сортування](output-sorting.md)
 | 
			
		||||
* **TBD** [Провайдери даних](output-data-providers.md)
 | 
			
		||||
* **TBD** [Віджети даних](output-data-widgets.md)
 | 
			
		||||
* **TBD** [Робота з клієнтськими скриптами](output-client-scripts.md)
 | 
			
		||||
* **TBD** [Темізація](output-theming.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Безпека
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
* [Аутентифікація](security-authentication.md)
 | 
			
		||||
* [Авторизація](security-authorization.md)
 | 
			
		||||
* [Робота з паролями](security-passwords.md)
 | 
			
		||||
* **TBD** [Аутентифікація](security-authentication.md)
 | 
			
		||||
* **TBD** [Авторизація](security-authorization.md)
 | 
			
		||||
* **TBD** [Робота з паролями](security-passwords.md)
 | 
			
		||||
* [Клієнти авторизації](https://github.com/yiisoft/yii2-authclient/blob/master/docs/guide/README.md)
 | 
			
		||||
* [Кращі практики](security-best-practices.md)
 | 
			
		||||
* **TBD** [Кращі практики](security-best-practices.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Кешування
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
* [Огляд](caching-overview.md)
 | 
			
		||||
* [Кешування даних](caching-data.md)
 | 
			
		||||
* **TBD** [Огляд](caching-overview.md)
 | 
			
		||||
* **TBD** [Кешування даних](caching-data.md)
 | 
			
		||||
* [Кешування фрагментів](caching-fragment.md)
 | 
			
		||||
* [Кешування сторінок](caching-page.md)
 | 
			
		||||
* [HTTP кешування](caching-http.md)
 | 
			
		||||
* **TBD** [Кешування сторінок](caching-page.md)
 | 
			
		||||
* **TBD** [HTTP кешування](caching-http.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RESTful веб-сервіси
 | 
			
		||||
-------------------
 | 
			
		||||
 | 
			
		||||
* [Швидкий старт](rest-quick-start.md)
 | 
			
		||||
* [Ресурси](rest-resources.md)
 | 
			
		||||
* [Контролери](rest-controllers.md)
 | 
			
		||||
* [Маршрутизація](rest-routing.md)
 | 
			
		||||
* [Форматування відповіді](rest-response-formatting.md)
 | 
			
		||||
* [Аутентифікація](rest-authentication.md)
 | 
			
		||||
* [Обмеження частоти запитів](rest-rate-limiting.md)
 | 
			
		||||
* [Версіонування](rest-versioning.md)
 | 
			
		||||
* [Обробка помилок](rest-error-handling.md)
 | 
			
		||||
* **TBD** [Швидкий старт](rest-quick-start.md)
 | 
			
		||||
* **TBD** [Ресурси](rest-resources.md)
 | 
			
		||||
* **TBD** [Контролери](rest-controllers.md)
 | 
			
		||||
* **TBD** [Маршрутизація](rest-routing.md)
 | 
			
		||||
* **TBD** [Форматування відповіді](rest-response-formatting.md)
 | 
			
		||||
* **TBD** [Аутентифікація](rest-authentication.md)
 | 
			
		||||
* **TBD** [Обмеження частоти запитів](rest-rate-limiting.md)
 | 
			
		||||
* **TBD** [Версіонування](rest-versioning.md)
 | 
			
		||||
* **TBD** [Обробка помилок](rest-error-handling.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Інструменти розробника
 | 
			
		||||
----------------------
 | 
			
		||||
 | 
			
		||||
* [Відладочна панель та відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md)
 | 
			
		||||
* [Генерація коду з Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide/README.md)
 | 
			
		||||
* **TBD** [Генератор документації API](tool-api-doc.md)
 | 
			
		||||
* **TBD** [Відладочна панель та відладчик](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)
 | 
			
		||||
* [Генератор документації API (en)](https://github.com/yiisoft/yii2-apidoc)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Тестування
 | 
			
		||||
----------
 | 
			
		||||
 | 
			
		||||
* [Огляд](test-overview.md)
 | 
			
		||||
* [Налаштування середовища тестування](test-environment-setup.md)
 | 
			
		||||
* [Модульні тести](test-unit.md)
 | 
			
		||||
* [Функціональні тести](test-functional.md)
 | 
			
		||||
* [Приймальні тести](test-acceptance.md)
 | 
			
		||||
* [Фікстури](test-fixtures.md)
 | 
			
		||||
* **TBD** [Огляд](test-overview.md)
 | 
			
		||||
* **TBD** [Налаштування середовища тестування](test-environment-setup.md)
 | 
			
		||||
* **TBD** [Модульні тести](test-unit.md)
 | 
			
		||||
* **TBD** [Функціональні тести](test-functional.md)
 | 
			
		||||
* **TBD** [Приймальні тести](test-acceptance.md)
 | 
			
		||||
* **TBD** [Фікстури](test-fixtures.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Спеціальні теми
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
* [Розширений шаблон додатка](tutorial-advanced-app.md)
 | 
			
		||||
* [Створення додатка з нуля](tutorial-start-from-scratch.md)
 | 
			
		||||
* [Консольні команди](tutorial-console.md)
 | 
			
		||||
* [Основні валідатори](tutorial-core-validators.md)
 | 
			
		||||
* [Інтернаціонализація](tutorial-i18n.md)
 | 
			
		||||
* [Робота з поштою](tutorial-mailing.md)
 | 
			
		||||
* [Вдосконалення продуктивності](tutorial-performance-tuning.md)
 | 
			
		||||
* [Робота на shared хостингу](tutorial-shared-hosting.md)
 | 
			
		||||
* [Шаблонізатори](tutorial-template-engines.md)
 | 
			
		||||
* [Робота із стороннім кодом](tutorial-yii-integration.md)
 | 
			
		||||
* **TBD** [Розширений шаблон додатка](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md)
 | 
			
		||||
* **TBD** [Створення додатка з нуля](tutorial-start-from-scratch.md)
 | 
			
		||||
* **TBD** [Консольні команди](tutorial-console.md)
 | 
			
		||||
* **TBD** [Основні валідатори](tutorial-core-validators.md)
 | 
			
		||||
* **TBD** [Інтернаціонализація](tutorial-i18n.md)
 | 
			
		||||
* **TBD** [Робота з поштою](tutorial-mailing.md)
 | 
			
		||||
* **TBD** [Вдосконалення продуктивності](tutorial-performance-tuning.md)
 | 
			
		||||
* **TBD** [Робота на shared хостингу](tutorial-shared-hosting.md)
 | 
			
		||||
* **TBD** [Шаблонізатори](tutorial-template-engines.md)
 | 
			
		||||
* **TBD** [Робота із стороннім кодом](tutorial-yii-integration.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Віджети
 | 
			
		||||
@ -185,8 +185,8 @@ RESTful веб-сервіси
 | 
			
		||||
* Menu: **TBD** link to demo page
 | 
			
		||||
* LinkPager: **TBD** link to demo page
 | 
			
		||||
* LinkSorter: **TBD** link to demo page
 | 
			
		||||
* [Віджети Bootstrap](https://github.com/yiisoft/yii2-bootstrap/blob/master/docs/guide/README.md)
 | 
			
		||||
* [Віджети jQuery UI](https://github.com/yiisoft/yii2-jui/blob/master/docs/guide/README.md)
 | 
			
		||||
* [Віджети Bootstrap](https://github.com/yiisoft/yii2-bootstrap/blob/master/docs/guide-uk/README.md)
 | 
			
		||||
* [Віджети jQuery UI](https://github.com/yiisoft/yii2-jui/blob/master/docs/guide-uk/README.md)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Хелпери
 | 
			
		||||
 | 
			
		||||
@ -1,17 +1,17 @@
 | 
			
		||||
Що таке Yii?
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
Yii – це високопродуктивний компонентний PHP фреймворк, призначений для швидкої розробки сучасних веб додатків.
 | 
			
		||||
Yii – це високопродуктивний компонентний PHP фреймворк, призначений для швидкої розробки сучасних веб-додатків.
 | 
			
		||||
Слово Yii (вимовляється як `Йі` `[ji:]`) в китайській мові означає "простий та еволюційний".
 | 
			
		||||
Також Yii може розшифровуватись акронім **Yes It Is**!
 | 
			
		||||
Також Yii може розшифровуватись як акронім для **Yes It Is**!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Для яких завдань найбільше підходить Yii?
 | 
			
		||||
-----------------------------------------
 | 
			
		||||
 | 
			
		||||
Yii – це універсальний фреймворк і може бути задіяний у всіх типах веб додатків, що використовують PHP. 
 | 
			
		||||
Yii – це універсальний фреймворк і може бути задіяний у всіх типах веб-додатків, що використовують PHP. 
 | 
			
		||||
Завдяки його компонентній структурі і відмінній підтримці кешування, фреймворк особливо підходить для розробки 
 | 
			
		||||
таких великих проектів як портали, форуми, CMS, магазини або RESTful-додатки.
 | 
			
		||||
таких великих проектів як портали, форуми, системи керування контентом (CMS), інтернет-магазини або RESTful-додатки.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Порівняння Yii з іншими фреймворками
 | 
			
		||||
@ -19,27 +19,27 @@ Yii – це універсальний фреймворк і може бути
 | 
			
		||||
 | 
			
		||||
Якщо ви вже знайомі з іншими фреймворками, вам напевно буде цікаво порівняти їх із Yii:
 | 
			
		||||
 | 
			
		||||
- Як і багато інших PHP фреймворків, для організації коду Yii використовує модель MVC (Model-View-Controller) та
 | 
			
		||||
  сприяє у організації коду на цій моделі.
 | 
			
		||||
- Yii дотримується філософії простого й елегантного коду. Yii ніколи не буде намагатись переускладнювати дизайн
 | 
			
		||||
  тільки заради слідування будь-яким шаблонами проектування.
 | 
			
		||||
- Як і багато інших PHP фреймворків, Yii втілює шаблон проектування MVC (Model-View-Controller) та
 | 
			
		||||
  сприяє організації коду відповідно до вимог шаблону.
 | 
			
		||||
- Yii дотримується філософії простого й елегантного коду. Yii ніколи не буде намагатись пере-ускладнювати дизайн
 | 
			
		||||
  тільки заради слідування будь-яким шаблонам проектування.
 | 
			
		||||
- Yii є full-stack фреймворком і включає в себе перевірені можливості, які добре себе зарекомендували:
 | 
			
		||||
  конструктори запитів та ActiveRecord для реляційних та NoSQL баз даних, підтримка REST API, 
 | 
			
		||||
  багаторівневе кешування та інші.
 | 
			
		||||
- Yii надзвичайно розширюваний. Ви можете налаштувати або замінити практично будь-яку частину основного коду.
 | 
			
		||||
  Використовуючи архітектуру розширень - досить легко використовувати або створювати публічні розширення.
 | 
			
		||||
  Завдяки надійній архітектурі розширень Yii, досить легко використовувати або розробляти поширюванні розширення.
 | 
			
		||||
- Висока продуктивність завжди є головною ціллю Yii.
 | 
			
		||||
 | 
			
		||||
Yii — не проект однієї людини. Він підтримується і розвивається [сильною командою][] і великою спільнотою розробників,
 | 
			
		||||
які їй допомагають. Команда розробників Yii фреймворка стежать за тенденціями веб розробки і розвитком інших проектів.
 | 
			
		||||
Найбільш значимі можливості і кращі практики регулярно впроваджуються у фреймворк у вигляді простих і елегантних інтерфейсів.
 | 
			
		||||
Yii — не проект однієї людини. Він підтримується і розвивається [сильною командою][about_yii] і великою спільнотою розробників,
 | 
			
		||||
які їй допомагають. Команда розробників Yii фреймворка стежать за тенденціями веб-розробки і розвитком інших проектів.
 | 
			
		||||
Найбільш значимі можливості та кращі практики регулярно впроваджуються у фреймворк у вигляді простих й елегантних інтерфейсів.
 | 
			
		||||
 | 
			
		||||
[сильна команда розробників]: http://www.yiiframework.com/about/
 | 
			
		||||
[about_yii]: http://www.yiiframework.com/about/
 | 
			
		||||
 | 
			
		||||
Версії Yii
 | 
			
		||||
----------
 | 
			
		||||
 | 
			
		||||
На даний момент існує дві основні гілки Yii: 1.1 та 2.0. Гілка 1.1 є попереднім поколінням і знаходиться у стані підтримки.
 | 
			
		||||
На даний момент існує дві основні версії Yii: 1.1 та 2.0. Версія 1.1 є попереднім поколінням і знаходиться у стані підтримки.
 | 
			
		||||
Версія 2.0 - це повністю переписаний Yii, що використовує останні технології і протоколи, такі як Composer, PSR, простори імен,
 | 
			
		||||
типажі (traits) і багато іншого. 2.0 - поточне покоління фреймворка. На цій версії будуть зосереджені основні зусилля
 | 
			
		||||
кілька наступних років. Даний посібник призначений в основному для версії 2.0.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								docs/internals-uk/automation.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								docs/internals-uk/automation.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
Автоматизація
 | 
			
		||||
=============
 | 
			
		||||
 | 
			
		||||
Є кілька задач, які можна автоматизувати працюючи з Yii:
 | 
			
		||||
 | 
			
		||||
- Створення мапи класів `classes.php` у кореневій директорії фреймворку.
 | 
			
		||||
  Виконати `./build/build classmap` для її створення.
 | 
			
		||||
 | 
			
		||||
- Створення анотацій `@property` у файлах класів, що описують властивості представлені функціями для отримання (getters) та призначення (setters) властивостей.
 | 
			
		||||
  Виконати `./build/build php-doc/property` для їх оновлення.
 | 
			
		||||
 | 
			
		||||
- Виправлення стилю кодування та інших невеличких проблем у коментарях phpdoc.
 | 
			
		||||
  Виконати `./build/build php-doc/fix` для виправлення.
 | 
			
		||||
  Перед тим як створювати коміт, необхідно перевіряти зміни, оскільки команда не є досконалою й можливі не бажані зміни.
 | 
			
		||||
  Можна використовувати `git add -p` для перегляду змін.
 | 
			
		||||
@ -1,36 +1,49 @@
 | 
			
		||||
Yii version numbering
 | 
			
		||||
=====================
 | 
			
		||||
Версіонування Yii
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
Релізи
 | 
			
		||||
------
 | 
			
		||||
Цей документ описує політику призначення версій Yii. Поточна стратегія призначення версій
 | 
			
		||||
базується на [ferver](https://github.com/jonathanong/ferver), це за думкою розробників є більш практичним
 | 
			
		||||
та розумним рішенням, ніж використання [semver](http://semver.org/) (див. [#7408](https://github.com/yiisoft/yii2/issues/7408) для довідки).
 | 
			
		||||
 | 
			
		||||
A.B.C
 | 
			
		||||
У колі головних розробників неодноразово підкреслювалась важливість зберігати зворотну сумісність релізів 2.0.x на 100%.
 | 
			
		||||
Але це ідеалістичний план. Стаття про ferver доводить, що досягнути цього на практиці дуже важко,
 | 
			
		||||
не зважаючи на те, використовується semver чи ні.
 | 
			
		||||
 | 
			
		||||
A = Для Yii2 це завжди 2.
 | 
			
		||||
B = Основна версія. Не-BC (`BC`, від англ. Backward compatibility - зворотна сумісність) зміни із інструкціями щодо оновлення.
 | 
			
		||||
C = BC зміни та доповнення.
 | 
			
		||||
Загалом, політика призначення версій наступна:
 | 
			
		||||
 | 
			
		||||
Реліз-кандидати
 | 
			
		||||
---------------
 | 
			
		||||
## Патч-релізи `2.x.Y`
 | 
			
		||||
 | 
			
		||||
A.B.C-rc
 | 
			
		||||
A.B.C-rc2
 | 
			
		||||
Патч-релізи, які мають бути на 100% зворотно сумісними. В ідеалі, вони містять лише виправлення помилок, що зменшує
 | 
			
		||||
можливість порушення зворотної сумісності. На практиці, релізи починаючи з 2.0.x стали частішими та зазвичай містять невеликі доповнення,
 | 
			
		||||
що дає можливість користувачам почати використовувати ці зміни раніше.
 | 
			
		||||
 | 
			
		||||
Це коли ми хочемо зробити реліз-кандидат. Номер RC збільшується доки ми не отримаємо стабільний реліз без будь-яких
 | 
			
		||||
критичних помилок і звітів про звортню несумісність.
 | 
			
		||||
* Підтримуються у гілці `2.x`
 | 
			
		||||
* Переважно містять виправлення помилок та невеликі покращення
 | 
			
		||||
* Відсутні великі зміни та доповнення
 | 
			
		||||
* 100%-ва зворотна сумісність, що гарантує оновлення без проблем. Виключенням можуть бути лише проблеми безпеки, які потребують порушення зворотної сумісності
 | 
			
		||||
* Цикл релізу близько 1-2 місяців
 | 
			
		||||
* Не має необхідності у пре-релізах (альфа, бета, реліз-кандидат)
 | 
			
		||||
* Регулярно об'єднуються з головною (майстер) гілкою (щонайменш раз у тиждень вручну)
 | 
			
		||||
 | 
			
		||||
Альфи та бети
 | 
			
		||||
-------------
 | 
			
		||||
 | 
			
		||||
A.B.C-alpha
 | 
			
		||||
A.B.C-alpha2
 | 
			
		||||
## Молодші (майнор) релізи `2.X.0`
 | 
			
		||||
 | 
			
		||||
Альфи це є нестабільні версії, де значні помилки можуть і, ймовірно, дійсно будуть.
 | 
			
		||||
API ще фіксується і може бути суттєво змінений.
 | 
			
		||||
`alpha2` і т.д. можуть або не можуть бути випущені на основі загальної стабільності коду та API.
 | 
			
		||||
Зворотно несумісні релізи, що містять великі доповнення та зміни, які можуть порушувати зворотну сумісність. Оновлення з ранніх версій
 | 
			
		||||
може бути не простим, але у наявності повна інструкція по оновленню або навіть скрипт.
 | 
			
		||||
 | 
			
		||||
A.B.C-beta
 | 
			
		||||
A.B.C-beta2
 | 
			
		||||
* Розроблюються у головній (майстер) гілці
 | 
			
		||||
* Переважно містять нові доповнення та виправлення помилок
 | 
			
		||||
* Містять невеликі доповнення та виправлення помилок з патч-релізів
 | 
			
		||||
* Можуть мати зворотно несумісні зміни, які записуються у файл `UPGRADE-2.X.md`
 | 
			
		||||
* Цикл релізу близько 6-8 місяців
 | 
			
		||||
* Необхідні пре-релізи: `2.X.0-alpha`, `2.X.0-beta`, `2.X.0-rc`
 | 
			
		||||
* Потребують маркетингових зусиль та публікування у головних новинах
 | 
			
		||||
 | 
			
		||||
Бета більш-менш стабільна із меншою кількістю помилок та меншою нестабільністю API, ніж альфа.
 | 
			
		||||
Там все ще можуть бути зміни в API, але на це повинна бути вагома причина.
 | 
			
		||||
 | 
			
		||||
## Головні (мажор) релізи `X.0.0`
 | 
			
		||||
 | 
			
		||||
Це наче 2.0 після 1.0. Такий перехід, вірогідніше, буде не частіше ніж кожні 3-5 років, у зв'язку з просуванням сторонніх технологій
 | 
			
		||||
(наприклад, оновлення PHP з 5.0 до 5.4).
 | 
			
		||||
 | 
			
		||||
> Примітка: Офіційні розширення використовують таку ж саму політику призначення версій але можуть публікуватись незалежно від
 | 
			
		||||
фреймворку, тобто номера версій фреймворку та розширення не повинні обов'язково збігатсь.
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user