Qiang Xue started working on YII on 1st January 2008, he was experienced in development of frameworks in PRADO one of the famous PHP frameworks.

  • YII is a PHP framework based on object oriented php5.
  • It is a high-performance component-based framework for large-scale web-applications which enables maximum reusability in web programming and can significantly accelerate the development process.
  • YII is an MVC (model view controller) framework, excels over other PHP frameworks, it is feature-rich and clearly-documented.
  • It is carefully designed from the beginning to fit for serious web-applications development.
  • It is said that YII framework is the best because it is based on DRY (Don’t repeat yourself) design pattern that is why it is called fast application development framework.
  • To run an YII- powered Web application, you need a Web server supporting PHP 5.1.0 or higher and MySQL. For developers who want to use YII, understanding object-oriented programming (OOP) is very helpful because YII is a pure OOP framework.
  • YII has been tested with Apache HTTP server on Windows and Linux operating systems.
  • YII framework is a free software, released under the terms of the BSD license.
  • YII documentation content can be copied, modified, and redistributed so long as the new version grants the same freedoms to others and acknowledges the authors of the YII documentation article used.

Yii exclusive features

  • It includes MVC (Model-View-Controller) design pattern.
  • It supports message translation, date and time formatting, number formatting, and interface localization. (Internationalization and localization (I18N and L10N)).
  • The facility of Layered caching scheme. It supports data caching, page caching, fragment caching and dynamic content. The storage medium of caching can be changed.
  • Smart management of Web service request handling.
  • Security measures include cross-site scripting (XSS) prevention, cross-site request forgery (CSRF) prevention, cookie tampering prevention, etc.
  • Error handling and logging. Errors are handled and presented more nicely, and log messages can be categorized, filtered and routed to different destinations.
  • Unit and functionality testing based on PHP Unit and Selenium.
  • Code generated by YII components and command line tools complies to the XHTML standard.
  • Automatic code generation for the skeleton application, CRUD applications, etc.
  • Carefully designed to work well with third-party code. For example, it’s possible to use code from PEAR or ZEND Framework in a YII application.

Knowledge on YII Directory structure

Top-level Directories: At the top level, we have four directories

  • backend: the backend application which is mainly used site administrators to manage the whole system.
  • frontend: the frontend application which provides the main interfaces to our target end users.
  • console: the console application that consists of the console commands needed by the system.
  • Common: the directory whose content are shared among the above applications.

As we can see, we divide the whole system into three applications: backend, frontend and console. If needed, we can add more applications too.

Application Directories: The directory structure of each application is very similar. For example, for frontend and backend, they both have these directories

  • components: contains components (e.g. helpers, widgets) that are only used by this application
  • config: contains the configuration used by the application
  • controllers: contains controller classes
  • lib: contains third-party libraries that are only used by this application
  • models: contains model classes that are specific for the application
  • runtime: stores dynamically generated files
  • views: stores controller actions view scripts
  • www: the web root for this application

Websites Using YII

Yii Pros and Cons

Main good point of YII is now a days there are many good Job opportunities and it is also used in personal IT business as well. It’s actively used by very large companies in Russia and Ukraine. It`s easy and compatible, has a clear documentation and lots of extensions. It’s a good community, easy to study and has good documentation.

From the framework architecture perspective and the internal code quality YII is not that preferable.

YII is a high-performance PHP framework best for developing Web 2.0 applications. It can reduce your development time significantly.

Don't hesitate to contact us

Office hours

Mon-Fri: 10.00AM - 08.00PM

Sat: 10:00AM - 01:00PM