Yii (вимовляється як «Ї» або [ji:]) — це високопродуктивний вебфреймворк, написаний на PHP, реалізує парадигму модель-вид-контролер. Yii — скорочення від «Yes It Is!»

Історія Історія Yii почалася 1 січня 2008 року, як проект з виправлення деяких вад фреймворку PRADO (PHP Rapid Application Development Object-oriented), що став в 2004 переможцем «Zend PHP 5 coding contest» .

Фреймворк PRADO був спробою перенести ASP.NET на платформу PHP, включаючи ViewState, PostBacks, Page_Load та OnClick. Якщо подивитися вихідний код, то можна побачити що деякі шматки коду просто скопійовані з ASP.NET (наприклад, поділ на Rare Fields та Occasional Fields в класі Control з метою оптимізації використання пам'яті, яка має сенс в .NET, але являє сумнівну цінність в PHP).

PRADO успадкував від ASP.NET майже всі негативні сторони: повільно обробляв складні сторінки, мав круту криву навчання і був достатньо важкий у налаштуванні.

У певний момент автор (Qiang Xue) зрозумів, що PHP-фреймворк повинен бути побудований дещо по-іншому, і ось в жовтні 2008 року, після більш 10 місяців закритої розробки, вийшла перша альфа-версія. 3 грудня 2008 був випущений Yii 1.0

Можливості Висока продуктивність Паттерн Модель-вид-контролер Інтерфейси DAO та Active Record для роботи з базами даних (PDO) Підтримка інтернаціоналізації Кешування сторінок та окремих фрагментів Перехоплення та обробка помилок Введення та валідація вебформ Автентифікація та авторизація Використання AJAX та інтеграція з jQuery Генерація базового PHP-коду для CRUD-операцій (скаффолдінг) Підтримка тем оформлення для їх легкої зміни Можливість підключення сторонніх бібліотек Міграції бази даних Автоматизоване тестування Підтримка REST

Порівняння з іншими фреймворками За результатами тестів phpmark Yii показав найкращу продуктивність.

Справедливості заради, варто відзначити, що продуктивність фреймворків в цих тестах оцінювалася на штучних прикладах типу Hello world. Тести показують час ініціалізації фреймворків, і на їх підставі можна лише зробити висновок, що Yii має якісну підсистему відкладеної ініціалізації (тобто, код завантажується лише тоді, коли він необхідний). Підтвердженої інформації про те, що Yii в «бойових умовах» працює швидше, ніж інші фреймворки, немає.

У блогосфері можна знайти масу статей з порівняльним аналізом фреймворків. В цілому, простежуються такі тенденції:

Yii активно розвивається Yii не виглядає «монстром» порівняно з фреймворками Symfony та Zend Framework У деяких порівняльних роботах відзначають високу швидкість вивчення фреймворку, отримання результатів та прототипування у порівнянні з Zend Framework та Symfony. Також наголошують на його стабільності та безпеці.

Див. також Active Record Model-View-Controller

Посилання Офіційний вебсайт Розширення Yii Документація Yii Yii на Google Code Українська спільнота Yii

Джерела