What is Yii =========== Yii is a high performance, component-based PHP framework for rapidly developing modern Web applications. The name Yii (pronounced `Yee` or `[ji:]`) means simple and evolutionary in Chinese. It can also be considered as the acronym for **Yes It Is**! What is Yii Best for? --------------------- Yii is a generic Web programming framework, meaning that it can be used for developing all kinds of Web applications based on PHP. Because of its component-based architecture and sophisticated caching support, it is especially suitable for developing large-scale applications such as portals, forums, content management systems (CMS), e-commerce projects, RESTful Web services, and so on. How does Yii Compare with Other Frameworks? ------------------------------------------- - Like most PHP frameworks, Yii implements the MVC (Model-View-Controller) design pattern and promotes code organization based on this pattern. - Yii takes the philosophy that code should be written in a simple yet elegant way. It will never try to over-design things mainly for the purpose of following some design pattern. - Yii is a full-stack framework providing many proven and ready-to-use features, such as query builders and ActiveRecord supporting relational and NoSQL databases, RESTful API development support, multi-tier caching support, etc. - Yii is extremely extensible. You can customize or replace nearly every piece of core code. You can also take advantage of its solid extension architecture, use or develop redistributable extensions. - High performance is always a primary goal of Yii. Yii is not a one-man show, it is backed up by a [strong core developer team][] as well as a large community with many professionals who are constantly contributing to the development of Yii. The Yii developer team is keeping a close eye on the latest trends of Web development and the best practices and features found in other frameworks and projects. They are being carefully incorporated into the core framework and exposed via simple and elegant interfaces. [strong core developer team]: http://www.yiiframework.com/about/ Yii Versions ------------ Yii has two major versions available currently: 1.1 and 2.0. Version 1.1 is the old generation and is currently under maintenance mode. Version 2.0 is a complete rewrite of Yii by adopting the latest technologies and protocols, such as Composer, PSR, namespaces, traits, etc. Version 2.0 represents the latest generation of the framework and will receive our main development efforts in the next few years. This guide is mainly about version 2.0. Requirements and Prerequisites ------------------------------ Yii 2.0 requires PHP 5.4.0 or above. You may find out more detailed requirements for individual features by running the requirement checker included in every release. Using Yii requires basic knowledge about object-oriented programming (OOP), as Yii is a pure OOP-based framework. Yii 2.0 also makes use of the latest features of PHP, such as [namespaces](http://www.php.net/manual/en/language.namespaces.php), [traits](http://www.php.net/manual/en/language.oop5.traits.php). Understanding these concepts will help you pick up Yii 2.0 more easily.