Yii
Yii is an open source, object-oriented, component-based MVC PHP web application framework. Yii is pronounced as "Yee" or [ji:] and in Chinese it means "simple and evolutionary" and it can be an acronym for "Yes It Is!".[2]
Stable release | |
---|---|
Repository | YII Repository |
Written in | PHP |
Operating system | Cross-platform |
Type | Web application framework |
License | New BSD License |
Website | www |
History
Yii started as an attempt to fix perceived drawbacks of the PRADO framework: Slow handling of complex pages, steep learning curve and difficulty to customize many controls. In October 2006, after ten months of development, the first alpha version of Yii was released, followed by the formal 1.00 release in December 2008.
Yii 1.1 was released in January 2010 adding a form builder, relational Active record queries, a unit testing framework and more. The Yii community continues to follow the 1.1 branch with PHP7 support and security fixes. The last release was version 1.1.21 in April 2019.
In May 2011 the developers decided to use new PHP versions and fix architectural shortcomings, resulting in version 2.0. In May 2013 the Yii 2.0 code went public, followed by the first stable release in October 2014. PHP7 is supported since version 2.0.9.[3] The latest version 2.0.19 was released in May 2019.
Features
Yii features include:
- Model-View-Controller (MVC) design pattern.
- Generation of complex WSDL service specifications and management of Web service request handling.
- Internationalization and localization (I18N and L10N), comprising message translation, date and time formatting, number formatting, and interface localization.
- Layered caching scheme, which supports data caching, page caching, fragment caching and dynamic content. The storage medium of caching can be changed.
- Error handling and logging. Log messages can be categorized, filtered and routed to different destinations.
- Security measures include prevention of cross-site scripting (XSS), cross-site request forgery (CSRF) and cookie tampering.
- Unit and functionality testing based on PHPUnit and Selenium.
- Automatic code generation for the skeleton application, CRUD applications, through the Gii tool.
- Code generated by Yii components and command line tools complies to the XHTML standard.
- Designed to work well with third-party code. For example, it's possible to include code from PEAR or the Zend Framework.
Version history
Color | Meaning |
---|---|
Red | Old version; no longer supported |
Yellow | Old version; still supported |
Green | Current version |
Blue | Future version |
Version | Release date | End of maintenance[4] | Requirement[4] |
---|---|---|---|
1.0 | December 3, 2008 | December 31, 2010 | PHP 5.1.0 or above |
1.1 | January 10, 2010 | December 31, 2016 | PHP 5.1.0 or above |
2.0 | October 12, 2014 | TBD | PHP 5.4.0 or above |
3.0 | TBD | TBD | PHP 7.4.0 or above |
Extensions
The Yii project includes a repository of user-contributed extensions.
There was also an official extension library, zii, which was eventually merged with the core framework; it has been bundled in every release since Yii version 1.1.0, and includes additional behaviors and widgets, such as grids and jQuery UI.
Documentation
Yii comes with a collection of official documentation, such as a tutorial to develop a simple blog application, a guide that gives the description of every feature and a class reference which gives every detail about properties, methods and events.
There's also a user-contributed documentation, most of which is available within the wiki on the official website.
Licensing
Yii is released under the New BSD License (3-clause license). This means that it's possible to use it for free to develop either open-source or proprietary Web applications.
The text contained in the Official Yii Documentation is licensed to the public under the GNU Free Documentation License (GFDL). In general, the Yii documentation content can be copied, modified, and redistributed so long as the new version grants the same freedoms to others and acknowledges the authors of the Yii documentation article used.[5]
The logo is licensed under a Creative Commons Attribution-No Derivative Works 3.0 Unported License.[6]
See also
References
- "Yii 2.0.35". yiiframework.com. Retrieved 2020-06-09.
- "About Yii". Yii2 Guide. yiisoft.
- http://www.yiiframework.com/news/92/php-7-released/
- "Download Yii Framework". Retrieved 18 January 2011.
- "Terms of the Yii Documentation". Retrieved 22 August 2010.
- "Official Logo". Retrieved 20 October 2010.
Bibliography
Books
- Merkel, Dirk (2010). "Chapter 6: PHP Frameworks". Expert PHP 5 Tools. Packt Publishing. ISBN 978-1-84719-838-9.
- Winesett, Jeffrey (2010). Agile Web Application Development with Yii1.1 and PHP5. Packt Publishing. ISBN 978-1-84719-958-4.
- Makarov, Alexander (2011). Yii 1.1 Application Development Cookbook. Packt Publishing. ISBN 978-1-84951-548-1.
- Ullman, Larry (2013). The Yii Book. Larry Ullman.
- Winesett, Jeffrey (2012). Web Application Development with Yii and PHP. Packt Publishing. ISBN 978-1-84951-872-7.
- O'Meara, Lauren J.; Hamilton III, James R. (2012). Yii Rapid Application Development Hotshot. Packt Publishing. ISBN 978-1-84951-750-8.
- Макаров, Александр (2012). Yii. Сборник рецептов. ДМК Пресс. ISBN 978-5-94074-786-4.
- Sosna, Łukasz (2013). Yii Framework. Helion. ISBN 978-83-246-7920-1.
- Mumm, Jacob (2013). Instant Yii 1.1 Application Development Starter. Packt Publishing. ISBN 978-1-78216-168-4.
- Uday, Sawant (2013). Instant Building Multi-Page Forms with Yii How-to. Packt Publishing. ISBN 978-1-78216-642-9.
- Safronov, Mark (2014). Web Application Development with Yii 2 and PHP. Packt Publishing. ISBN 978-1-78398-188-5.
- Portwood II, Charles R. (2014). Yii Project Blueprints. Packt Publishing. ISBN 978-1-78328-773-4.
- Keck, Bill (2014). Yii 2 For Beginners. Leanpub.
- Pescarin, Matteo (2015). Learning Yii Testing. Packt Publishing. ISBN 978-1-78439-227-7.
- Portwood II, Charles R. (2016). Mastering Yii. Packt Publishing. ISBN 978-1-78588-242-5.
- Bogdanov, Andrew; Eliseev, Dmitry (2016). Yii2 Application Development Cookbook - Third Edition. Packt Publishing. ISBN 978-1-78528-176-1.
Journals
- Behme, Henning (January 2009). "World Wide Web". iX. Heise.
- Winesett, Jeffrey (March 2009). "Adding the Yii Framework to Your Web Development Toolbox". php|architect.
- Winesett, Jeffrey (July 2009). "Yii: Flex Your Flash". php|architect.
- Kreußel, Peter (November 2009). "PHP-Frameworks im Überblick, Viel Holz für den Rahmen". Linux-Magazin. Linux New Media AG.
- Setter, Matthew (December 2010). "YiiLocal – Find Stuff Near You". php|architect.
- Moorjani, Philip (April 2014). "Introduction to Yii 2.0". php|architect.