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.