Yii
Тип | Фреймворк для створення вебзастосунків |
---|---|
Автор | Qiang Xued |
Розробник | Yii developers team |
Стабільний випуск | 2.0.1 (7 грудня 2014) |
Операційна система | багатоплатформовий |
Мова програмування | PHP |
Ліцензія | BSD |
Репозиторій | github.com/yiisoft/yii2 |
Вебсайт | www.yiiframework.com |
Yii (вимовляється як «Ї» або [ji:]) — це високопродуктивний вебфреймворк, написаний на PHP, реалізує парадигму модель-вид-контролер.[1] Yii — скорочення від «Yes It Is!»
Історія Yii почалася 1 січня 2008 року, як проект з виправлення деяких вад фреймворку PRADO (PHP Rapid Application Development Object-oriented), що став в 2004 переможцем «Zend PHP 5 coding contest»[2][3].
Фреймворк PRADO був спробою перенести ASP.NET на платформу PHP, включаючи ViewState, PostBacks, Page_Load та OnClick. Якщо подивитися вихідний код, то можна побачити що деякі шматки коду просто скопійовані з ASP.NET (наприклад, поділ на Rare Fields та Occasional Fields в класі Control[4] з метою оптимізації використання пам'яті, яка має сенс в .NET, але являє сумнівну цінність в PHP).
PRADO успадкував від ASP.NET майже всі негативні сторони: повільно обробляв складні сторінки, мав круту криву навчання і був достатньо важкий у налаштуванні.[5]
У певний момент автор (Qiang Xue) зрозумів, що PHP-фреймворк повинен бути побудований дещо по-іншому, і ось в жовтні 2008 року, після більш 10 місяців закритої розробки, вийшла перша альфа-версія. 3 грудня 2008 був випущений Yii 1.0[1]
- Висока продуктивність
- Паттерн Модель-вид-контролер
- Інтерфейси DAO та Active Record для роботи з базами даних (PDO)
- Підтримка інтернаціоналізації
- Кешування сторінок та окремих фрагментів
- Перехоплення та обробка помилок
- Введення та валідація вебформ
- Автентифікація та авторизація
- Використання AJAX та інтеграція з jQuery
- Генерація базового PHP-коду для CRUD-операцій (скаффолдінг)
- Підтримка тем оформлення для їх легкої зміни
- Можливість підключення сторонніх бібліотек
- Міграції бази даних
- Автоматизоване тестування
- Підтримка REST
За результатами тестів phpmark Yii показав найкращу продуктивність.[6]
Справедливості заради, варто відзначити, що продуктивність фреймворків в цих тестах оцінювалася на штучних прикладах типу Hello world. Тести показують час ініціалізації фреймворків, і на їх підставі можна лише зробити висновок, що Yii має якісну підсистему відкладеної ініціалізації (тобто, код завантажується лише тоді, коли він необхідний). Підтвердженої інформації про те, що Yii в «бойових умовах» працює швидше, ніж інші фреймворки, немає.
У блогосфері можна знайти масу статей з порівняльним аналізом фреймворків. В цілому, простежуються такі тенденції:
- Yii активно розвивається[7]
- Yii не виглядає «монстром» порівняно з фреймворками Symfony та Zend Framework [8]
- У деяких порівняльних роботах відзначають високу швидкість вивчення фреймворку, отримання результатів та прототипування у порівнянні з Zend Framework та Symfony. Також наголошують на його стабільності та безпеці.[9][10]
- Офіційний вебсайт [Архівовано 25 січня 2018 у Wayback Machine.]
- Розширення Yii [Архівовано 26 вересня 2012 у Wayback Machine.]
- Документація Yii [Архівовано 26 вересня 2012 у Wayback Machine.]
- Yii на Google Code [Архівовано 21 вересня 2012 у Wayback Machine.]
- Українська спільнота Yii [Архівовано 23 жовтня 2012 у Wayback Machine.]
- ↑ а б About Yii. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
- ↑ About PRADO. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
- ↑ PHP5 Coding Competition Winners. Google Blogoscoped. 26 жовтня 2004. Архів оригіналу за 17 листопада 2011. Процитовано 7 лютого 2012.
- ↑ PRADO, TControl source. Архів оригіналу за 24 серпня 2014. Процитовано 6 серпня 2012.
- ↑ Yii: a high-performance framework inheriting Prado. 6 жовтня 2008. Архів оригіналу за 27 квітня 2012. Процитовано 22 серпня 2010.
- ↑ Performance of Yii. Архів оригіналу за 19 серпня 2010. Процитовано 27 вересня 2012.
- ↑ Yii 1.1.9. Архів оригіналу за 10 березня 2012. Процитовано 27 вересня 2012.
- ↑ Порівняння PHP фреймворків — Kohana Yii Symfony CodeIgniter. Архів оригіналу за 23 вересня 2012. Процитовано 27 вересня 2012.
- ↑ Evaluierung von PHP Frameworks. Архів оригіналу за 13 вересня 2012. Процитовано 27 вересня 2012.
- ↑ Порівняння популярних PHP-фреймворків. Архів оригіналу за 4 вересня 2012. Процитовано 27 вересня 2012.