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 переможцем«ZendPHP 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
За результатами тестівphpmarkYii показав найкращу продуктивність.[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.