Yii | это... Что такое Yii? (original) (raw)
Yii
Тип | Программный каркас для создания веб-приложений |
Разработчик | Yii developers team |
Написана на | PHP |
Операционная система | Кроссплатформенный |
Последняя версия | 1.1.12 (19 августа 2012) |
Лицензия | BSD |
Сайт | www.yiiframework.com |
Yii (произносится как «Yee» или [ji:]) — это высокопроизводительный веб-каркас, написанный на PHP, и реализующий парадигму MVC.[1] Yii — сокращение от «Yes It Is!»
Содержание
- 1 История
- 2 Возможности
- 3 Сравнение с другими фреймворками
- 4 История версий
- 5 Книги
- 6 Ссылки
- 7 Примечания
История
История 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 |
• Категория |