A free and open source high-performance programming framework for developing large-scale Web applications
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.
- 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.
- 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.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- Bug: There was unnecessary echo in CRUD views generated by Gii (samdark)
- Bug: Fixed minLength and maxLength range check in CCaptchaAction::generateVerifyCode so values are now always stay in bounds (samdark)
- Bug #101: CActiveFinder::buildJoinTree() no longer uses 'false' for 'select' value (klimov-paul)