The development of Yii framework began on January 1, 2008. It is an open source application that supports object oriented programming. It is also a component based MVC (Model-View-Controller) web application framework. The purpose for its development was to fix the drawbacks of a then widely used PRADO framework.
PRADO was incapable of delivering a fast performance when it came to handling complex pages. Moreover PRADO was also difficult to customize. This is where development by Yii framework comes in handy. Yii even has a provision to store user-contributed components in its extension repository.
The development stage took 10 months and finally it on October 2008 that an alpha version of Yii was released. But it was on December 3, 2008 that the full version was formally introduced in the market.
Why Yii is Good for You?
1. Easy to Install
- For every web developer time is of the essence. Therefore it is important that while handling a framework the installation time must be greatly reduced.
- Too much time spent on installation will lead to loss of money.
- Moreover it will cost the developers valuable time that they require to implement for the process of web development.
- This is because of an uncomplicated, easy installation and configuration process that comes with Yii.
2. Modern Technologies
- Yii uses an OOP framework and takes advantage of PHP’s more advanced features.
- This includes the latest static binding, SPL classes and interfaces and anonymous functions.
3. Highly Extensible
- What makes Yii framework really popular is its ability to be tailored to fit your needs.
- Every component of the framework is virtually extensible.
4. Provision for Testing
- Integration of great PHP testing framework like Codeception is what makes Yii highly desirable.
- This is made simple by the process of creating unit, functional and acceptance tests for your applications.
5. Simplified Security
- Proper security is essential for any web application and this is where Yii can help you.
- Yii has a security application component that exposes several methods to help assist in creating a more secure application.
6. Shorter Development Time
- Repetition tasks are unwelcomed as most developers consider them to be waste of time. But the fact that things can’t be done without taking care of them, makes them important.
- This is where Yii helps you to spend less time on these tasks and more time customizing your application to suit your needs.
- Gii is a tool that is used for this purpose. It is web-based code scaffolding tool whuich allows you to quickly create codes.
- It also helps in templates for models, controllers, forums, modules, extensions and CRUD controlled actions and views.
7. Easily Tuned for Better Performance
- The last thing that a web development company wants is a slow website.
- Yii tool can help bring more speed out of you application.
- Yii/caching/cache are its cache components, which allows you to choose whichever caching system you want while using a common API.
8. Error Handling
- It has a complete error handling framework and is based on PHP 5 exception mechanism.
- When the application is created for the purpose of handling an incoming user request, the handleError method within handles PHP warnings and notices; and it registers its handleException method to handle uncaught PHP exceptions.
- When a PHP warning or some kind of uncaught exception that occurs during an application execution, one of the error handlers will take control and start the necessary error handling procedure.
9. Using Theme
- Themes are a great way of systematically customizing the outlook of your web pages. The overall appearance of a Web application can be greatly enhanced with a proper theme.
- It also has other relevant resource files including images, view files, and many more.
- The name of a theme is represented as its directory name. All the themes can be found under the same directory WebRoot/themes. Only one theme can be made active at a given time.
- Yii has a logging feature that is both flexible and extensible. You classify the messages that are logged according to its log levels and message categories.
- By using level and category filters, selected messages can be further routed to different destinations, such as files, emails, browser windows, etc.