(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
FUNDAMENTALS OF Yii
- 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(). Application Base Directory Application base directory refers to the root directory that contains all security-sensitive PHP scripts and data. By default, it is a subdirectory named protected that is located under the directory containing the entry script
7
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.
CREATING AN Yii APPLICATION(contd..) Step 0. Preparation After installing the Yii framework, run a simple console command
% YiiRoot/framework/yiic webapp 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
SQL statements.
20
and validation.
Authentication and authorization Yii has built-in authentication support. It
features of Yii(contd..)
- Skinning and theming Yii implements a skinning and
- Purely object-oriented
Yii framework sticks to strict OOP paradigm. It does not define any global function or
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
Conclusion Yii does not need to be installed under a Webaccessible directory. 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
27