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]
За результатами тестів phpmark Yii показав найкращу продуктивність.[6]
Справедливості заради, варто відзначити, що продуктивність фреймворків в цих тестах оцінювалася на штучних прикладах типу Hello world. Тести показують час ініціалізації фреймворків, і на їх підставі можна лише зробити висновок, що Yii має якісну підсистему відкладеної ініціалізації (тобто, код завантажується лише тоді, коли він необхідний). Підтвердженої інформації про те, що Yii в «бойових умовах» працює швидше, ніж інші фреймворки, немає.
У блогосфері можна знайти масу статей з порівняльним аналізом фреймворків. В цілому, простежуються такі тенденції:
У деяких порівняльних роботах відзначають високу швидкість вивчення фреймворку, отримання результатів та прототипування у порівнянні з Zend Framework та Symfony. Також наголошують на його стабільності та безпеці.[9][10]