Yii (произносится [ji:] и часто пишется по ) — объектно-ориентированный компонентный фреймворк, реализующий парадигму MVC. В китайском языке Yii означает «простой и прогрессивный», также Yii представляет собой акроним от «Yes It Is!».
История История Yii началась 1 января 2008 года как проект по исправлению некоторых изъянов во фреймворке (PHP Rapid Application Development Object-oriented), ставшего в 2004 победителем «Zend PHP 5 coding contest».
На фреймворк PRADO повлияли ASP.NET, Apache Tapestry и Borland Delphi. PRADO унаследовал от ASP.NET многие отрицательные стороны: медленно обрабатывал сложные страницы, имел крутую кривую обучения и был довольно труден в настройке.
В определенный момент основатель и разработчик ядра фреймворка PRADO — Цян Суэ понял, что PHP-фреймворк должен быть построен несколько по-другому. В октябре 2008 года, после более 10 месяцев закрытой разработки, вышла первая альфа-версия. 3 декабря 2008 был выпущен Yii 1.0.
Yii 1.1 вышел 10 января 2010 года и был нацелен на улучшение версии 1.0: добавлен фреймворк для тестирования, построитель форм, настраиваемость виджетов. Сильно переработан Actve Record. Библиотека расширений Zii, вышедшая одновременно с релизом фреймворка, включала в себя интеграцию с jQuery, гриды и другое.
12 октября 2013 вышел Yii 2.0.0. Новая большая версия фреймворка — полностью переписанный и переосмысленный Yii 1.1. Вторая версия была более амбициозной: использованы многие стандарты, сильно расширена работа с событиями, конфигурацией, поведениями. Реализованы DI-контейнер и сервис-локатор, гибкое кеширование, формы, аутентификация через внешние провайдеры, мощная система интернационализации. В части работы с СУБД кардинально улучшилась производительность, удобство и поддержка разных типов баз данных. Также в этой версии появились поддержка простого создания API, встроенный отладчик и мощный генератор кода. Перед релизом код прошёл аудит независимых экспертов по безопасности.
Yii3, вышедший 31 декабря 2025 года, является кардинальным переосмыслением предыдущего опыта и представляет собой набор независимых пакетов и шаблоны приложений, их объединяющие. Из особенностей стоит отметить: Оформление кода по PSR; Использование семантического версионирования SemVer; DDD-совместимость; Отделение консоли от веба; Разбиение на части, которые можно использовать отдельно; Строгая типизация; SOLID; Убийство иерархии классов; Убийство большинства wrapper-расширений; Отказ от нестандартных объектов; Поддержка Swoole / RoadRunner / FrankenPHP. Близкое к полному покрытие тестами.
Возможности Фреймворк отлично документирован: документация есть ко всему и на нескольких языках (русский, украинский, английский, испанский и другие). Также каждый метод имеет шапку в PHPDoc. установка с помощью Composer. Высокая производительность относительно других фреймворков, написанных на PHP Парадигма Модель-представление-контроллер Интерфейсы DAO и ActiveRecord для работы с базами данных (PDO) Поддержка интернационализации Кэширование страниц и отдельных фрагментов Перехват и обработка ошибок Ввод и валидация форм Аутентификация и авторизация (RBAC и ACL) Использование AJAX и интеграция с jQuery. Со второй версии добавлена поддержка Bootstrap, Генерация базового PHP-кода для CRUD-операций (скаффолдинг) Поддержка тем оформления для их лёгкой смены Возможность подключения сторонних библиотек Миграции базы данных Автоматическое тестирование Поддержка REST (добавлена со второй версии) Использование шаблонизаторов Twig, Smarty Интерфейс командной строки(CLI — Console Line Interface): например выполнив в консоли команду php yii можно получить список всех доступных команд
Расширения Проект Yii включает в себя хранилище пользовательских расширений.
Была также официальная библиотека расширения, zii, которая в конечном итоге была объединена с основной структурой; она была включена в каждую версию с версии Yii версии 1.1.0 и включает в себя дополнительные поведения и виджеты, такие, как гриды и jQuery UI.
Yii и шаблоны проектирования (паттерны) Аналогично другим фреймворкам в Yii используются паттерны Dependency Injection (DI) и Service Locator.«Dependency Injection и Service Locator в Yii 2» — Дмитрий Науменко на Yii2 conference — YouTube
Документы и лицензии В Yii имеется сборник официальной документации форме учебного пособия и документация по публичному API. Также есть документация, предоставленная пользователями, большая часть которой доступна в вики на официальном веб-сайте.
Yii выпущен под лицензией BSD. Это означает, что можно использовать его бесплатно для разработки как открытых, так и проприетарных веб-приложений.
Сравнение с другими фреймворками По результатам тестов phpmark Yii показал лучшую производительность.
Производительность фреймворков в этих тестах оценивалась на искусственных примерах типа Hello world. Тесты показывают время инициализации фреймворков, и на основании их можно сделать вывод, что Yii имеет качественную подсистему отложенной инициализации (то есть, код загружается только тогда, когда он необходим).
В блогосфере можно найти массу статей со сравнительным анализом фреймворков. В целом, прослеживаются следующие тенденции:
Yii активно развивается. В некоторых сравнительных работах отмечается высокая скорость изучения фреймворка, получения результатов и прототипирования по сравнению с Zend Framework и Symfony. Также отмечается его стабильность и безопасность.
CMS и CMF на YII Yii достаточно популярен среди разработчиков, на его основе существуют множество различных систем управления сайтами Craft CMS — одна из самых успешных альтернатив Wordpress в США. Yupe CMS — это бесплатная платформа для разработки веб-приложений: интернет-магазинов, сайтов-сообществ, CRM-систем SakuraCommerce — интернет магазин на Yii2 Easyii CMS — набор инструментов для быстрой разработки и простого управления контентом Open Business Card CMS — это простой бесплатный скрипт для создания сайтов-визиток Open Real Estate CMS — CMS для агентства недвижимости Canape CMS — проприетарная CMS SkeekS CMS — бесплатная 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
поддержка безопасности кода 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 1.1.11 29 июля 2012 1.1.12 19 августа 2012 1.1.13-RC 2 декабря 2012 1.1.13 30 декабря 2012 1.1.14 11 августа 2013 1.1.15 29 июня 2014 1.1.16 21 декабря 20141.1.1713 января 20161.1.1819 апреля 20171.1.198 июня 20171.1.206 июля 2018 2.0 2.0.0 12 октября 2014PHP 5.4.0 и выше 2.0.1 7 декабря 2014 2.0.2 11 января 2015 2.0.3 1 марта 20152.0.410 мая 20152.0.511 июля 20152.0.610 августа 20152.0.714 февраля 20162.0.828 апреля 20162.0.911 июля 20162.0.1020 октября 20162.0.111 февраля 20172.0.125 июня 20172.0.133 ноября 20172.0.1419 февраля 20182.0.1520 марта 20182.0.1631 января 2019 3.0 3.0.0 31 декабря 2025
События, встречи
2012 Первая профессиональная конференция веб-разработчиков, использующих в своих приложениях фреймворк Yii. YiiConf-2012, Киев, 19 мая 2012
2016 Yii2 встреча. Dev Pizza с Дмитрием Науменко «Профилирование в PHP с XDebug, XHprof, Blackfire». Киев, 17 мая 2016 Хакатон по Yii Framework в TACC, конференции DevConf. Москва, 18 и 19 июня 2016 Yii2 митап с Михаилом Боднарчуком, Киев 13 июля 2016 Лекция Дмитрия Немеша. Киев. 21 июля 2016 WebCamp. Одесса, 29-31 июля 2016 PHP frameworks day. Киев, 3 сентября, 2016. Мини-конференция по Yii 2. Киев, 24 сентября 2016 PHP Party в Иваново, 26 Ноября 2016 Встреча Yii-разработчиков. Киев, 7 декабря 2016
2017 Вторая профессиональная конференция веб-разработчиков, использующих в своих приложениях фреймворк Yii. YiiConf-2017, Москва, 16-18 июня 2017
Книги
Примечания
Ссылки
Категория:Фреймворки Категория:Программное обеспечение с лицензией BSD Категория:Свободные библиотеки программ Категория:Веб-фреймворки на PHP Категория:Генераторы программного кода