(PHP Framework) : Easy, Efficient and Extensible
(PHP Framework) : Easy, Efficient and Extensible
introduction
- Yii is a high-performance component-based PHP framework for developing large-scale Web applications - Yii is a generic Web programming framework, used for developing virtually all sorts of Web applications - Yii is a Model View Controller framework
FUNDAMENTALS OF Yii
- Model-View-Controller (MVC) - Entry Script - Debug Mode - Application - Application Base Directory - Action - Layout - Widget etc..
3
FUNDAMENTALS OF Yii
Model-View-Controller (MVC) In MVC ,model represents the data and the business rules; view contains elements of the user interface such as text, form inputs; and the controller manages the communication between the model and the view. MVC separate business logic from user interface considerations to easily change each part without affecting the other. Yii uses a front-controller, called application, which represents the execution context of request processing.
4
FUNDAMENTALS OF Yii
Entry Script Entry script is the bootstrap PHP script that handles user requests initially. It is the only PHP script that end users can directly request to execute
Debug Mode
Yii application can run in either debug or production mode according to the constant value YII DEBUG. By default, this constant value is defined as false, meaning production mode. To run in debug mode, define this constant as true before including
FUNDAMENTALS OF Yii
Application Application represents the execution context of request processing. The application singleton can be accessed at any place via Yii::app().
FUNDAMENTALS OF Yii
Controller
A controller is an instance of CController or its child class created by application . When a controller runs, it performs the requested action which usually brings in the needed models and renders an appropriate view
Action An action can be defined as a method whose name starts with the word action. An action class and ask the controller to instantiate tasks when requested
FUNDAMENTALS OF Yii
Layouts Layout is a special view that is used to decorate views. It usually contains portions of user interface that are common among several views Widget A widget is an instance of CWidget or its child class. It is a component mainly for presentational purpose. Widgets enable better reusability in user interface. Widgets are usually embedded in a view script to generate some complex yet self-contained user interface. For example, a calendar widget can be used to
10
CREATING AN Yii APPLICATION For creating Web application we use a powerful yiic
tool which can be used to automate code creation for certain tasks.
For simply, we assume that YiiRoot is the directory where Yii is installed, and WebRoot is the document root of our Web server.
11
CREATING AN Yii APPLICATION(contd..) Step 0. Preparation After installing the Yii framework, run a simple console command
% YiiRoot/framework/yiic webapp WebRoot/testdrive
to generate a skeleton Web application built with Yii. This will create a skeleton Yii application under the directory WebRoot/testdrive.
12
13
Step 1. Create the Database While Yii can virtually eliminate most repetitive coding tasks, you are responsible for the real creative work. This often starts with designing the whole system to be built, in terms of some database schema.
14
Step 2a.
Using the built-in Web-based code generator, you can turn database table definitions into model classes instantly, without writing a single line of code. The model classes will allow you to access the database tables in an object-oriented fashion.
15
16
Using the code generator, we can further generate code that implements the typical CRUD (create, read, update, delete) features for the selected database tables. The generated code is highly usable and customizable, following the well-adopted MVC (model-view-controller) design pattern.
17
18
Step 3. You customize the code to fit your exact needs Finally we customize the code to fit our exact needs. For example, to hide the password column on the user administration page, simply cross out the 'password' element shown in the user admin view file:
19
features of Yii
- Database Access Objects (DAO), Query Builder
20
features of Yii(contd..)
- Skinning and theming Yii implements a skinning and theming mechanism that allows you to quickly switch the outlook of a Yii-power website. Layered caching scheme Yii supports data caching, page caching,
- Security
Disadvantages of Yii framework Yii is written in approach that does not support the most innovative, modern advantages brought to PHP development world with release of PHP 5.3 and soon PHP version 6.
25
An Yii application has one entry script which is usually the only file that needs to be exposed to Web users. Other PHP scripts, including those from Yii, should be protected from Web access since they may be exploited for hacking.
26
References
[1] www.code.google.com/yii/
[2] Wikipedia Yii
[3] http://www.yiiframework.com
27