Меню
Главная
Случайная статья
Настройки
|
Yii (произносится [ji:] и часто пишется по рус. йии[3]) — объектно-ориентированный компонентный фреймворк, реализующий парадигму MVC[4]. В китайском языке Yii означает «простой и прогрессивный», также Yii представляет собой акроним от «Yes It Is!».
Содержание
История
История Yii началась 1 января 2008 года как проект по исправлению некоторых изъянов во фреймворке PRADO[англ.] (PHP Rapid Application Development Object-oriented), ставшего в 2004 победителем «Zend PHP 5 coding contest»[5][6].
На фреймворк PRADO повлияли ASP.NET, Apache Tapestry и Borland Delphi. PRADO унаследовал от ASP.NET многие отрицательные стороны: медленно обрабатывал сложные страницы, имел крутую кривую обучения и был довольно труден в настройке[7].
В определенный момент основатель и разработчик ядра фреймворка PRADO[8] — Цян Суэ понял, что PHP-фреймворк должен быть построен несколько по-другому. В октябре 2008 года, после более 10 месяцев закрытой разработки, вышла первая альфа-версия. 3 декабря 2008 был выпущен Yii 1.0[4]
Yii 1.1 вышел 10 января 2010 года и был нацелен на улучшение версии 1.0: добавлен фреймворк для тестирования, построитель форм, настраиваемость виджетов. Сильно переработан Actve Record. Библиотека расширений Zii, вышедшая одновременно с релизом фреймворка, включала в себя интеграцию с jQuery, гриды и другое.[9]
12 октября 2013 вышел Yii 2.0.0. Новая большая версия фреймворка — полностью переписанный и переосмысленный Yii 1.1. Вторая версия была более амбициозной: использованы многие стандарты, сильно расширена работа с событиями, конфигурацией, поведениями. Реализованы DI-контейнер и сервис-локатор, гибкое кеширование, формы, аутентификация через внешние провайдеры, мощная система интернационализации. В части работы с СУБД кардинально улучшилась производительность, удобство и поддержка разных типов баз данных. Также в этой версии появились поддержка простого создания API, встроенный отладчик и мощный генератор кода. Перед релизом код прошёл аудит независимых экспертов по безопасности.
Yii3 является кардинальным переосмыслением предыдущего опыта и представляет собой набор независимых пакетов и шаблоны приложений, их объединяющие. На данный момент выпущены и являются стабильными 107 из планируемых 112 пакетов. Из особенностей стоит отметить:
- Оформление кода по PSR[10];
- Использование семантического версионирования SemVer[11];
- DDD-совместимость;
- Отделение консоли от веба;
- Разбиение на части, которые можно использовать отдельно;
- Строгая типизация;
- SOLID;
- Убийство иерархии классов;
- Убийство большинства wrapper-расширений;
- Отказ от нестандартных объектов;
- Поддержка Swoole / RoadRunner / FrankenPHP.
- Близкое к полному покрытие тестами.
Возможности
Фреймворк отлично документирован: документация есть ко всему и на нескольких языках (русский, украинский, английский, испанский и другие). Также каждый метод имеет шапку в PHPDoc.
Расширения
Проект Yii включает в себя хранилище пользовательских расширений.
Была также официальная библиотека расширения, zii, которая в конечном итоге была объединена с основной структурой; она была включена в каждую версию с версии Yii версии 1.1.0 и включает в себя дополнительные поведения и виджеты, такие, как гриды и jQuery UI.
Yii ишаблоны проектирования(паттерны)
Аналогично другим фреймворкам в Yii используются паттерны Dependency Injection (DI) и Service Locator.[15]
Документы и лицензии
В Yii имеется сборник официальной документации форме учебного пособия и документация по публичному API. Также есть документация, предоставленная пользователями, большая часть которой доступна в вики на официальном веб-сайте.
Yii выпущен под лицензией BSD. Это означает, что можно использовать его бесплатно для разработки как открытых, так и проприетарных веб-приложений.
Сравнение с другими фреймворками
По результатам тестов phpmark Yii показал лучшую производительность[12].
Производительность фреймворков в этих тестах оценивалась на искусственных примерах типа Hello world. Тесты показывают время инициализации фреймворков, и на основании их можно сделать вывод, что Yii имеет качественную подсистему отложенной инициализации (то есть, код загружается только тогда, когда он необходим).
В блогосфере можно найти массу статей со сравнительным анализом фреймворков. В целом, прослеживаются следующие тенденции:
CMS и CMF на YII
Yii достаточно популярен среди разработчиков, на его основе существуют множество различных систем управления сайтами
- Craft CMS — одна из самых успешных альтернатив Wordpress в США.
- Yupe CMS[20] — это бесплатная платформа для разработки веб-приложений: интернет-магазинов, сайтов-сообществ, CRM-систем
- SakuraCommerce[21] — интернет магазин на Yii2
- Easyii CMS[22] — набор инструментов для быстрой разработки и простого управления контентом
- Open Business Card CMS[23] — это простой бесплатный скрипт для создания сайтов-визиток
- Open Real Estate CMS[24] — CMS для агентства недвижимости
- Canape CMS — проприетарная CMS[25]
- SkeekS CMS[26] — бесплатная CMS, позволяет построить веб-приложения любой сложности: простые сайты, сложные порталы, интернет-магазины, CRM-системы.
История версий
Цвет
|
Обозначение
|
Красный
|
Старая версия, не поддерживается
|
Жёлтый
|
Старая версия, пока поддерживается
|
Зелёный
|
Текущая версия
|
Голубой
|
Будущая версия
|
Ветка
|
Версия
|
Дата выпуска
|
Окончание поддержки
|
Системные требования
|
1.0
|
1.0
|
3 декабря 2008
|
31 декабря 2010
|
PHP 5.1.0 или выше
|
1.0.1
|
4 января 2009
|
1.0.2
|
1 февраля 2009
|
1.0.3
|
1 марта 2009
|
1.0.4
|
5 апреля 2009
|
1.0.5
|
10 мая 2009
|
1.0.6
|
7 июня 2009
|
1.0.7
|
5 июля 2009
|
1.0.8
|
9 августа 2009
|
1.0.9
|
6 сентября 2009
|
1.0.10
|
18 октября 2009
|
1.0.11
|
13 декабря 2009
|
1.0.12
|
14 марта 2010
|
1.1
|
1.1.0
|
10 января 2010
|
31 декабря 2015
до 1 декабря 2019
поддержка безопасности кода[27]
|
PHP 5.1.0 или выше
|
1.1.1
|
14 марта 2010
|
1.1.2
|
2 мая 2010
|
1.1.3
|
4 июля 2010
|
1.1.4
|
5 сентября 2010
|
1.1.5
|
14 ноября 2010
|
1.1.6
|
16 января 2011
|
1.1.7
|
26 марта 2011
|
1.1.8
|
26 июня 2011
|
1.1.9
|
1 января 2012
|
1.1.10
|
12 февраля 2012[28]
|
1.1.11
|
29 июля 2012[29]
|
1.1.12
|
19 августа 2012[30]
|
1.1.13-RC
|
2 декабря 2012[31]
|
1.1.13
|
30 декабря 2012[32]
|
1.1.14
|
11 августа 2013[33]
|
1.1.15
|
29 июня 2014[34]
|
1.1.16
|
21 декабря 2014[35]
|
1.1.17
|
13 января 2016[36]
|
1.1.18
|
19 апреля 2017[27]
|
1.1.19
|
8 июня 2017[37]
|
1.1.20
|
6 июля 2018[38]
|
2.0
|
2.0.0
|
12 октября 2014
|
|
PHP 5.4.0 и выше[39]
|
2.0.1
|
7 декабря 2014
|
2.0.2
|
11 января 2015
|
2.0.3
|
1 марта 2015
|
2.0.4
|
10 мая 2015
|
2.0.5
|
11 июля 2015
|
2.0.6
|
10 августа 2015
|
2.0.7
|
14 февраля 2016
|
2.0.8
|
28 апреля 2016
|
2.0.9
|
11 июля 2016[40]
|
2.0.10
|
20 октября 2016[41]
|
2.0.11
|
1 февраля 2017[42]
|
2.0.12
|
5 июня 2017[43]
|
2.0.13
|
3 ноября 2017
|
2.0.14
|
19 февраля 2018[44]
|
2.0.15
|
20 марта 2018[45]
|
2.0.16
|
31 января 2019
|
События, встречи
2012- Первая профессиональная конференция веб-разработчиков, использующих в своих приложениях фреймворк Yii. YiiConf-2012, Киев, 19 мая 2012[46]
2016- Yii2 встреча. Dev Pizza с Дмитрием Науменко «Профилирование в PHP с XDebug, XHprof, Blackfire». Киев, 17 мая 2016[47]
- Хакатон по Yii Framework в TACC, конференции DevConf. Москва, 18 и 19 июня 2016[48][49]
- Yii2 митап с Михаилом Боднарчуком, Киев 13 июля 2016[50]
- Лекция Дмитрия Немеша. Киев. 21 июля 2016[51]
- WebCamp. Одесса, 29-31 июля 2016[52]
- PHP frameworks day. Киев, 3 сентября, 2016.[53]
- Мини-конференция по Yii 2. Киев, 24 сентября 2016[54]
- PHP Party в Иваново, 26 Ноября 2016[55]
- Встреча Yii-разработчиков. Киев, 7 декабря 2016[56]
2017- Вторая профессиональная конференция веб-разработчиков, использующих в своих приложениях фреймворк Yii. YiiConf-2017, Москва, 16-18 июня 2017[57][58]
Книги
Ссылки
Примечания
- Release 2.0.53 — 2025.
- The yii Open Source Project on Open Hub: Languages Page — 2006.
- Александр Макаров. Произносим правильно - RMCreative (неопр.). rmcreative.ru. Дата обращения: 27 апреля 2017. Архивировано 28 апреля 2017 года.
- 1 2 About Yii (неопр.). Дата обращения: 22 августа 2010. Архивировано 27 апреля 2012 года.
- About PRADO (неопр.). Дата обращения: 22 августа 2010. Архивировано 27 апреля 2012 года.
-
- Yii: a high-performance framework inheriting Prado (неопр.) (6 октября 2008). Дата обращения: 22 августа 2010. Архивировано 27 апреля 2012 года.
- Qiang Xue, Fabio Bas. PRADO PHP Framework (неопр.). www.pradoframework.net. Дата обращения: 4 ноября 2016. Архивировано 4 июля 2016 года.
- Yii 1.0.0 is released (англ.). Yii Framework. Дата обращения: 13 мая 2025.
- PHP-FIG — PHP Framework Interop Group - PHP-FIG (неопр.). Дата обращения: 24 апреля 2020. Архивировано 24 апреля 2020 года.
- Семантическое Версионирование 2.0.0 | Semantic Versioning (неопр.). Дата обращения: 23 мая 2020. Архивировано 5 июня 2020 года.
- 1 2 Performance of Yii (неопр.). Дата обращения: 7 сентября 2011. Архивировано из оригинала 19 августа 2010 года.
- Руководство по Smarty | Smarty (неопр.). Дата обращения: 24 апреля 2020. Архивировано 19 сентября 2020 года.
- Специальные темы: Консольные команды | Полное руководство по Yii 2.0 | Yii PHP Framework (неопр.). Дата обращения: 23 мая 2020. Архивировано 20 октября 2020 года.
- «Dependency Injection и Service Locator в Yii 2» — Дмитрий Науменко на Yii2 conference — YouTube
- Yii Q&A 1 (англ.). samdark.github.io. Дата обращения: 27 апреля 2017. Архивировано 28 апреля 2017 года.
- Yii 1.1.9 (неопр.). Дата обращения: 30 сентября 2016. Архивировано 7 августа 2016 года.
- Evaluierung von PHP Frameworks (неопр.). Дата обращения: 16 июля 2011. Архивировано 13 сентября 2012 года.
- Сравнение популярных PHP-фреймворков (неопр.). Дата обращения: 17 июля 2011. Архивировано 4 сентября 2012 года.
- Юпи! - система управления сайтами (CMS) на Yiiframework (неопр.). Дата обращения: 23 мая 2020. Архивировано 11 августа 2020 года.
- Архивированная копия (неопр.). Дата обращения: 23 мая 2022. Архивировано 6 апреля 2022 года.
- Easyii Yii2 CMS (неопр.). Дата обращения: 23 мая 2020. Архивировано 31 мая 2020 года.
- MonoRay.ru - Продукты - Open Business Card (неопр.). Дата обращения: 4 декабря 2018. Архивировано 5 декабря 2018 года.
- Архивированная копия (неопр.). Дата обращения: 23 мая 2022. Архивировано 16 мая 2022 года.
- Эффективная CMS для продвижения сайта от WebCanape — Canape CMS (неопр.). Дата обращения: 21 марта 2018. Архивировано 21 марта 2018 года.
- SkeekS CMS (Yii2 CMS) — система управления интернет проектами, создание веб-проектов, система управления внутренним порталом компании (неопр.). Дата обращения: 2 марта 2019. Архивировано 6 марта 2019 года.
- 1 2
- Yii Framework Change Log (неопр.). Дата обращения: 14 февраля 2012. Архивировано 16 февраля 2012 года.
- Yii Framework Change Log (неопр.). Дата обращения: 1 августа 2012. Архивировано 1 августа 2012 года.
- Архивированная копия (неопр.). Дата обращения: 25 августа 2012. Архивировано 22 августа 2012 года.
- Архивированная копия (неопр.). Дата обращения: 5 декабря 2012. Архивировано 7 декабря 2013 года.
- Архивированная копия (неопр.). Дата обращения: 7 января 2013. Архивировано 2 января 2013 года.
- Архивированная копия (неопр.). Дата обращения: 15 августа 2013. Архивировано 14 августа 2013 года.
- Архивированная копия (неопр.). Дата обращения: 1 июля 2014. Архивировано 7 июля 2014 года.
- Архивированная копия (неопр.). Дата обращения: 22 декабря 2014. Архивировано 22 декабря 2014 года.
- https://raw.githubusercontent.com/yiisoft/yii/1.1.17/CHANGELOG (неопр.). Дата обращения: 26 июля 2016. Архивировано 16 марта 2016 года.
- Александр Макаров. Yii 1.1.19 (неопр.). Дата обращения: 10 июня 2017. Архивировано 8 июня 2017 года.
- Yii 1.1.20 is released (англ.). Yii Framework. Дата обращения: 17 августа 2018. Архивировано 17 августа 2018 года.
- Download Yii Framework | Yii Framework (неопр.). Дата обращения: 8 февраля 2011. Архивировано 15 августа 2020 года.
- Yii 2.0.9 (неопр.). Дата обращения: 26 июля 2016. Архивировано 7 августа 2016 года.
- Yii 2.0.10 is released | News | Yii PHP Framework (неопр.). www.yiiframework.com. Дата обращения: 4 ноября 2016. Архивировано 3 ноября 2016 года.
- Yii 2.0.11 is released | News | Yii PHP Framework (англ.). www.yiiframework.com. Дата обращения: 7 февраля 2017. Архивировано 7 февраля 2017 года.
- Yii 2.0.12 is released | News | Yii PHP Framework (англ.). www.yiiframework.com. Дата обращения: 7 июня 2017. Архивировано 10 июня 2017 года.
- Yii 2.0.14 is released | News | Yii PHP Framework (англ.). www.yiiframework.com. Дата обращения: 8 марта 2018. Архивировано 5 марта 2018 года.
- Releasing Yii 2.0.15 and database extensions with security fixes (англ.). Yii Framework. Дата обращения: 17 августа 2018. Архивировано 17 августа 2018 года.
- Конференция YiiConf 2012 / Киев, Украина (неопр.). 2012.yiiconf.ru. Дата обращения: 4 июля 2017. Архивировано 5 июля 2017 года.
- Dev Pizza с Дмитрием Науменко «Профилирование в PHP с XDebug, XHprof, Blackfire» (рус.). www.facebook.com. Дата обращения: 4 июля 2017.
-
- Александр Макаров. Хакатон по Yii Framework в TACC, отчёт - RMCreative (рус.). rmcreative.ru. Дата обращения: 4 июля 2017. Архивировано 23 июня 2017 года.
- Intellectday: Yii2 meet up (рус.). www.facebook.com. Дата обращения: 4 июля 2017.
- 21 июля, Киев. Лекция Дмитрия Немеша - Yii Framework (рус.). yiiframework.ru. Дата обращения: 4 июля 2017.
- WebCamp - 29-31 июля, Одесса - Yii Framework (рус.). yiiframework.ru. Дата обращения: 4 июля 2017.
- 3 сентября в Киеве PHP frameworks day - Yii Framework (рус.). yiiframework.ru. Дата обращения: 4 июля 2017.
- Yii 2 Conference 2016, Киев - Yii Framework (рус.). yiiframework.ru. Дата обращения: 4 июля 2017. Архивировано 21 сентября 2017 года.
- Александр Макаров. Иваново 2016, отчёт - RMCreative (рус.). rmcreative.ru. Дата обращения: 4 июля 2017. Архивировано 24 июня 2017 года.
- Киев 07.12.2016 - Yii Framework (рус.). yiiframework.ru. Дата обращения: 4 июля 2017. Архивировано 4 июля 2017 года.
- YiiConf 2017 (неопр.). Дата обращения: 4 июля 2017. Архивировано 13 июля 2017 года.
- samdark. YiiConf 2017, слайды, фото и подкаст (рус.). yiiframework.ru. Дата обращения: 4 июля 2017. Архивировано 3 июля 2017 года.
- GitHub - samdark/yii2-cookbook: Yii 2.0 Community Cookbook (неопр.). Дата обращения: 24 апреля 2020. Архивировано 16 сентября 2020 года.
|
|