Features of Yii
Yii comes with a full stack of features needed by today's Web 2.0 application development. Below is a short list of these features.
- 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 reusability 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.
