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