YII is my personal favorite framework for development .I am going to discuss why yii. There are a lot of reasons behind this . Its fast speed, fast development and many more . It is the high permanence php framework best for web-development.Like other framework Yii follows MVC architecture .You can read my previous article on this what is yii, And today i am going to share some key features why we should prefer YII for development . So here are some of them
1) Gii:One of my favorite reason to choose yii . Gii extension , amazing .Yo can do a couple of things with this only in a few minutes . It is the automatically code generator tool in yii . You can create a crud (edit, add, delete) , model, controller, module, extension with the GII extension . You can configure this in config.php file

return array(
......
'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'pick up a password here',
// 'ipFilters'=>array(...a list of IPs...),
// 'newFileMode'=>0666,
// 'newDirMode'=>0777,
),
),
);

now open http://localhost/mybankexam/gii enter the chosen password. and you will see following screen
Gii   Form Generator

2) Extensions: Yii is an easily extensible . With a thousands of extensions you can get what you want .You can create widgets , extensions , module . In short you have full opportunity to enhance the functionality .Here is the official yii’s directory to get the extensions . click here
3)modules:A module is a self-contained software unit that consists of models, views, controllers and other supporting components. In many aspects, a module resembles to an application. The main difference is that a module cannot be deployed alone and it must reside inside of an application. Users can access the controllers in a module like they do with normal application controllers. You can get more information about module from here Click here
4) simple database queries: For any web application daynamic content is most . And to fetch database from database we need to use database queries . And yii makes it simple to fetch data from database with a couple of ways. i.e

$data=ModelClass::model()->find('colum_id=yourvalue');  // will return 1 record/  conditions is optional
$data=ModelClass::model()->findAll('colum_id=yourvalue') //  will return all matched data / condition is optional
$data=ModelClass::model()->findByPk(20);   // will return 1 record with primary key=20
$data=ModelClass::model()->findAllByAttributes(array('column_name'=>'value','column_name2'=>'value2'));
// you can also fetch relational in all 
$data=ModelClass::model()->with(array('relation1','relation2'))->findAllByAttributes(); // or you can use find(), findByPk().

5) form validations: In any web application validation is necessary part so that only validated data should save i database and i like the yii made this . It is so easy to implement validations in yii models . The most important feature is you can validate your form with ajax . you can validate form on submit and input change .you need to define an array of validation like this

public function rules()
{
return array(
array('count, title, content, status', 'required','message'=>'{attribute} can not empty'), // custom message
array('status', 'in', 'range'=>array(1,2,3)),   // range
array('title', 'length', 'max'=>128),    // max length
array('count', 'numerical', 'max'=>128),   // only numerical value  
array('tags', 'match', 'pattern'=>'/^[\w\s,]+$/', 'message'=>'Tags can only contain word characters.'),  // you can use regular expression . customize message
array('tags', 'normalizeTags'),    // you can use your own functions
);
}
/**
* Normalizes the user-entered tags.
*/
public function normalizeTags($attribute,$params)
{
$this->tags=Tag::array2string(array_unique(Tag::string2array($this->tags)));
}

6) Documentations: For any successfull product documentation plays a very important role . And yii has a very detailed and clean documentation at every point . A beginner can easily learn yii from there documentation . Here is the link for yii official documentation
7) caching :Caching is a cheap and effective way to improve the performance of a Web application. By storing relatively static data in cache and serving it from cache when requested, Yii save the time needed to generate the data.You can configure cache as given below

array(
......
'components'=>array(
......
'cache'=>array(
'class'=>'system.caching.CMemCache',
'servers'=>array(
array('host'=>'server1', 'port'=>11211, 'weight'=>60),
array('host'=>'server2', 'port'=>11211, 'weight'=>40),
),
),
),
);

For more information regarding yii caching you can visit This link
8)config parameters: You can store any configuration parameter in yii and use it inside file . So if in future you need to change that values you just need to change in config file only . here is a example

return array(
// other values
'params'=>array(
// this is used in contact page
'adminEmail'=>'info@gmail.com',
'mycustom'=>'my custom values'; 
),
//
);
// you can get these values like 
$parms=yii::app()->params['mycustom'];

9) Url manager: You can easily customize the yii url as you want . You can route the url to some other url . You can shorten the url and many more here is the example .

'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'myadmin/<controller:\w+>/<action:\w+>/<id:\d+>'=>'admin/<controller>/<action>',   // in url www.yoursite.com/myadmin/test/action will go to url www.yoursite.com/admin/test/action
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>/<sysid:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<sysid:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),

10) In-build views:In any websites you need Forms, data-grid , data-table . Yii makes it easier to implement all . here are inbuilt functions .You can use that as it is defined in yii or you can customize its features.
a) yii form example

$form=$this->beginWidget('CActiveForm',array(
'id'=>'your form id',
'enableAjaxValidation'=>true,
'enableClientValidation'=>true,
'focus'=>array($model,'firstName'),
));
echo $form->errorSummary($model);
<div class="row">
<?php echo $form->labelEx($model,'column1'); ?>
<?php echo $form->textField($model,'column1'); ?>
<?php echo $form->error($model,'column1'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'column2'); ?>
<?php echo $form->textField($model,'column2'); ?>
<?php echo $form->error($model,'column2'); ?>
</div>
$this->endWidget(); 

b) Cgridview

$dataProvider=new CActiveDataProvider('Post');
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'title',          // display the 'title' attribute
'category.name',  // display the 'name' attribute of the 'category' relation
'content:html',   // display the 'content' attribute as purified HTML
array(            // display 'create_time' using an expression
'name'=>'create_time',
'value'=>'date("M j, Y", $data->create_time)',
),
array(            // display 'author.username' using an expression
'name'=>'authorName',
'value'=>'$data->author->username',
),
array(            // display a column with "view", "update" and "delete" buttons
'class'=>'CButtonColumn',
),
),
));

c) clistview

$dataProvider=new CActiveDataProvider('Post');
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_post',   // refers to the partial view named '_post'
'sortableAttributes'=>array(
'title',
'create_time'=>'Post Time',
),
));

Like any good framework, Yii helps you create modern web applications quickly, and make sure they perform well. It pushes you to create secure and testable sites by doing a lot of the heavy lifting for you. You can easily use most of its features exactly as they are provided, or you can modify each one to suit your needs. I really encourage you to check it out for your next web project!

http://codingbin.com/wp-content/uploads/2016/01/reasons-that-make-yii-more-popular.pnghttp://codingbin.com/wp-content/uploads/2016/01/reasons-that-make-yii-more-popular-150x150.pngdevidframeworksYiibest framework,why yii,yiiYII is my personal favorite framework for development .I am going to discuss why yii. There are a lot of reasons behind this . Its fast speed, fast development and many more . It is the high permanence php framework best for web-development.Like other framework Yii follows MVC architecture...coding, php, wordpress, yii, cakephp, and  jquery

Are you want to get implementation help, or modify or extend the functionality of this script? Submit paid service request