- Yii
-
Yii Тип Программный каркас для создания веб-приложений
Разработчик Написана на Операционная система Последняя версия 1.1.12 (19 августа 2012)
Лицензия Сайт Yii (произносится как «Yee» или [ji:]) — это высокопроизводительный веб-каркас, написанный на PHP, и реализующий парадигму MVC.[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]
Возможности
- Высокая производительность
- Парадигма Модель-вид-контроллер
- Интерфейсы DAO и ActiveRecord для работы с базами данных (PDO)
- Поддержка интернационализации
- Кэширование страниц и отдельных фрагментов
- Перехват и обработка ошибок
- Ввод и валидация форм (англ.)русск.
- Аутентификация и авторизация
- Использование AJAX и интеграция с jQuery
- Генерация базового PHP-кода для CRUD-операций (скаффолдинг)
- Поддержка тем оформления для их лёгкой смены
- Возможность подключения сторонних библиотек
- Миграции базы данных
- Автоматическое тестирование
- Поддержка REST
Сравнение с другими фреймворками
По результатам тестов phpmark Yii показал самую лучшую производительность.[6]
Справедливости ради, необходимо отметить, что производительность фреймворков в этих тестах оценивалась на искусственных примерах типа Hello world. Тесты показывают время инициализации фреймворков, и на основании их можно лишь сделать вывод, что Yii имеет качественную подсистему отложенной инициализации (то есть, код загружается только тогда, когда он необходим). Подтвержденной информации о том, что Yii в «боевых условиях» работает быстрее, чем другие фреймворки, нет.
В блогосфере можно найти массу статей со сравнительным анализом фреймворков. В целом, прослеживаются следующие тенденции:
- Yii активно развивается[7]
- Yii не выглядит «монстром» по сравнению с фреймворками symfony и Zend (у которых число строк кода соизмеримо с числом строк кода операционных систем)[8]
- В некоторых сравнительных работах отмечается высокая скорость изучения фреймворка, получения результатов и прототипирования по сравнении с Zend и Symfony. Также отмечается его стабильность и безопасность.[9][10]
История версий
Цвет Обозначение Красный Старая версия, не поддерживается Жёлтый Старая версия, пока поддерживается Зелёный Текущая версия Голубой Будущая версия Ветка Версия Дата выпуска Окончание поддержки Системные требования 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 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[11] 1.1.11 29 июля 2012[12] 1.1.12 19 августа 2012[13] 1.1.13-RC 2 декабря 2012[14] 2.0 2.0 альфа неизвестно В разработке PHP 5.3.0 и выше[15] Книги
- Merkel Dirk Chapter 6: PHP Frameworks // Expert PHP 5 Tools. — Packt Publishing, 2010. — ISBN 978-1-847198-38-9
- Winesett Jeffrey Agile Web Application Development with Yii1.1 and PHP5. — Packt Publishing, 2010. — ISBN 978-1-847199-58-4
- Makarov Alexander Yii 1.1 Application Development Cookbook. — Packt Publishing, 2011. — ISBN 978-1-84951-548-1
Ссылки
- Официальный сайт
- Русскоязычное сообщество
- Yiiclipse — поддержка Yii для Eclipse PDT
- Chive — аналог phpMyAdmin, разработанный с использованием Yii
- Yii Radio
Примечания
- ↑ 1 2 About Yii. Архивировано из первоисточника 27 апреля 2012. Проверено 22 августа 2010.
- ↑ About PRADO. Архивировано из первоисточника 27 апреля 2012. Проверено 22 августа 2010.
- ↑ PHP5 Coding Competition Winners, Google Blogoscoped (26 октября 2004). Проверено 7 февраля 2012.
- ↑ PRADO, TControl source
- ↑ Yii: a high-performance framework inheriting Prado (6 October 2008). Архивировано из первоисточника 27 апреля 2012. Проверено 22 августа 2010.
- ↑ Performance of Yii
- ↑ Yii 1.1.9
- ↑ Сравнение PHP фреймворков — Kohana Yii Symfony CodeIgniter
- ↑ Evaluierung von PHP Frameworks
- ↑ Сравнение популярных PHP-фреймворков
- ↑ Yii Framework Change Log
- ↑ Yii Framework Change Log
- ↑ http://www.yiiframework.com/files/CHANGELOG-1.1.12.txt
- ↑ http://www.yiiframework.com/files/CHANGELOG-1.1.13-RC.txt
- ↑ Download Yii Framework | Yii Framework
Веб-фреймворки ASP.NET DotNetNuke • ASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (Cocoon • Struts • Velocity • WebWork 2) • AppFuse • Aranea • Eclipse • Facelets • Flexive • FreeMarker • Google Web Toolkit • Grails • Hamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClient • Spring • Stripes • Tapestry • ThinWire • Vaadin • WebMacro • WebWork • WebObjects • Wicket • ZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JS • jQuery • jMaki • Microsoft AJAX Library • MochiKit • MooTools • Prototype • qooxdoo • Rialto Toolkit • Rico • script.aculo.us • SmartClient • Spry • SproutCore • Yahoo! UI Library • Underscore • PhoneGap
Perl Catalyst • Interchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniter • Cotonti • DIY • Drupal • Fuse • Horde • Kohana • LiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • Yii • Zend • Zoop • Joomla
Python CherryPy • Django • GAE framework • Karrigell • Nevow • Porcupine • Pylons • Pyramid • Spyce • TurboGears • Twisted • Tornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • Merb • Ruby on Rails • Sinatra • Padrino
Прочие
языкиAlpha Five • Fusebox (ColdFusion • PHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)
PHP Люди Энди Гутманс • Расмус Лердорф • Зеев Сураски Ресурсы Zend Engine • Библиотеки • PEAR • Редакторы • Акселератор Реализации HipHop • Quercus • Project Zero • Phalanger • Parrot Фреймворки AppFlower • CakePHP • CodeIgniter • Drupal • FuelPHP • Horde • Joomla! • Lithium • Midgard • MODx • Qcodo • Seagull • SilverStripe • Symfony • TYPO3 • Xaraya • Yii • Zend Framework • Zeta Components Тестирование PHPUnit • PHP Unit Testing Framework • SimpleTest ORM Propel • Doctrine IDE AppFlower • Eclipse PDT • PhpStorm • NetBeans • RadPHP • PHP DevelStudio • PHPEdit • Zend Studio Компилятор Phalanger Widget toolkit wxPHP • PHP-GTK • PHP-Qt • Категория Категории:- Программное обеспечение по алфавиту
- Программное обеспечение с лицензией BSD
- Свободные библиотеки программ
- Каркасы веб-приложений на PHP
Wikimedia Foundation. 2010.