Features of Yii
Whether you are one developer building a fairly simple Web site, or a team of
distributed developers building an extremely complex Web application, using
Yii is like augmenting your development team with additional experienced,
professional, and efficient resources. All for free!
You can stay focused on the tasks specific to your business requirements,
and let Yii provide an implementation strategy for all of the following:
- Model-View-Controller (MVC) design pattern
Yii adopts the proven MVC architecture, which allows for clean separation of concerns
(SoC).
- Database Access Objects (DAO), Query Builder, Active Record, DB Migration
Yii allows developers to model database data in terms of objects and avoid
the tedium and complexity of writing repetitive SQL statements.
- Form input and validation
Yii makes collecting form input extremely easy and safe. It comes with a set of validators
as well as numerous helper methods and widgets to simplify the task for form input and validation.
- AJAX-enabled widgets
Integrated with jQuery, Yii comes with a set of AJAX-enabled widgets, such as
auto-complete input field, treeview, data grid, which enables writing highly efficient
and versatile user interface extremely simple.
- Authentication and authorization
Yii has built-in authentication support. It also supports authorization
via hierarchical role-based access control (RBAC).
- Skinning and theming
Yii implements a skinning and theming mechanism that allows you to quickly switch
the outlook of a Yii-power website.
- 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 prevent your Web applications
from attacks such as SQL injection, cross-site scripting (XSS),
cross-site request forgery (CSRF), and cookie tampering.
- Unit and functionality testing
Yii provides support for writing and running unit tests as well as functionality tests,
based on PHPUnit and Selenium.
- Automatic code generation
Yii provides a set of intuitive and highly extensible code generation tools that
can help you quickly generate the code you need for features such as form input, CRUD.
- 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 book and comprehensive tutorials
are also available for you to systematically learn Yii.
- Extension library
Yii provides an extension library consisting of user-contributed components.
This makes the above feature list never ending.
You might initially try Yii for its speed, security, feature richness, and superb engineering.
But you'll stick with it because it is just so intuitive, flexible and fun. Don't take our word
for it. Dive in deeper and see for yourself: Take the tour.
And when you're ready to get your hands a little dirty, download the framework and follow the tutorials.