Yii enables maximum reusability in Web programming and can be significantly accelerate the development process. The name Yii (pronounced as [i:]) stands for efficient, easy, and extensible.
Yii is easy to learn and use. You only need to know PHP and object-oriented programming. You are not forced to learn a new configuration or templating language.
Yii is extremely fast. Its overhead to applications written on top of it is negligible. As a matter of fact, it is one of the most efficient PHP frameworks around.
Yii is highly reusable and extensible. Yii is purely object-oriented. Everything in Yii is a self-contained component which can be configured, reused or extended easily.
More importantly, Yii has an ever-increasing extension library consisting of user-contributed components, which may help reduce your development time significantly.
Here are some key features of "Yii":
· Model-View-Controller (MVC) design pattern: Yii adopts this proven technique in Web programming which can better separate logic from presentation.
· Database Access Objects (DAO) and Active Record: Yii allows developers to model database data in terms of objects and save their effort of writing long and repetitive SQL statements.
· Integration with jQuery: as one of the most popular JavaScript framework, jQuery enables writing highly efficient and versatile JavaScript interfaces.
· Form input and validation: Yii makes collecting form input extremely easy and safe. Yii comes with a set of validators which can be used to ensure validity of input data, and it also has helper methods and widgets to indicate errors when validation fails.
· Web 2.0 widgets: powered by jQuery, Yii comes with a set of Web 2.0 widgets, such as auto-complete input field, treeview, and so on.
· Authentication and authorization: Yii has built-in authentication support. It also supports authorization via hierarchical role-based access control (RBAC).
· Theming: it enables change of the outlook of an Yii application instantly.
· Web services: Yii supports automatic generation of complex WSDL service specifications and management of Web service request handling.
· Internationalization (I18N) and localization (L10N): Yii supports message translation, date and time formatting, number formatting, and interface localization.
· Layered caching scheme: Yii supports data caching, page caching, fragment caching and dynamic content. The storage medium of caching can be changed easily without touching the application code.
· Error handling and logging: errors are handled and presented more nicely, and log messages can be categorized, filtered and routed to different destinations.
· Security: Yii is equipped with many security measures to help secure Web applications to prevent cyber attacks. These measures include cross-site scripting (XSS) prevention, cross-site request forgery (CSRF) prevention, cookie tampering prevention, etc.
· Compliance to XHTML: Code generated by Yii components and command line tools complies to the XHTML standard.
· Automatic code generation: Yii provides the tools that can automatically generate the code that you need, such as a skeleton application, CRUD applications, etc.
· Purely object-oriented: Yii framework sticks to strict OOP paradigm. It does not define any global function or variable. And the class hierarchy that it defines allows maximum resuability and customization.
· Friendly with third-party code: Yii is carefully designed to work well with third-party code. For example, you can use code from PEAR or Zend Framework in your Yii application.
· Detailed documentation: every single method or property is clearly documented. A comprehensive tutorial is also provided together with other minor tutorials.
· Extension library: Yii provides an extension library consisting of user-contributed components. This makes the above feature list never ending.
Requirements:
· PHP 5.1.0 or above
What's New in This Release: [ read full changelog ]
· Bug Fixed the bug introduced in 1.1.9 CActiveForm required field was not validated if left empty (mdomba)
· Bug #1799: Better fix for bug #1799 old fix was breaking CJuiDatePicker tabular input (mdomba)
· Bug #2284: Fixed the CActiveForm clientvalidation for tabular input (mdomba)
· Bug #3062: Fixed the bug that using yiilite.php and CLocale will cause exception (Qiang)
· Bug #3070: Fixed the CActiveForm JS error if there is no field rendered (mdomba)
· Bug #3071: Fixed the bug that afterValidateAttribute was not called properly (mdomba)
· Bug #3096: Fixed the bug when reporting an error and CHtml is not loaded (mdomba)
· Bug #3103: Fixed the bug that CActiveForm->error() was not overloading htmlOptions (mdomba)
· Bug #3107: Fixed the wrong encoding issue of Italian messages (Qiang)
· Bug #3108: Fixed the bug introduced in CActiveFinder::applyLazyCondition (Qiang)
· Bug #3166: Fixed the bug that CDbColumnSchema typecasted to NULL even for NOT NULL columns (Sam Dark)
· Enh #3063: Gii, when generating model...