Book Review : Yii 1.1. Application development cookbook.

As a Yii developer I love to explore the framework related books,blog posts.Recently PacktPub published a cookbook on Yii written by Alexander Makarov.

One of the best feature of Yii framework that you can develop applications really fast.The cookbook started with the chapter “Under The Hood”,beside rapid development its must to know the internal structure for maintaining good quality code.Alex tried to focus most common needs of a PHP programmer,like other frameworks you can write magic methods in Yii.In the first chapter he demonstrated that with getter,setter and event,components of Yii.Also wrote simple core method name by using which you can play with request response object.


In second,third chapter author worte abut how MVC pattern works in Yii with jquery based ajax implementation.Working with JSON is an interesting section where I learned how to handle JSON inside Yii.For REST Api based application the JSON tutorial will help a lot any Yii developer.
In third,fourth chapter he covered Yii form and testing.Common use cases like file uploading and captcha validation examples.
Chapter 6 is important in terms of application development,in the chapter how active recored pattern works,how to write and design models for db.But truly I expected ORM implementation in this chapter(like Doctrine or Propel).Highlighting code with Yii seems to be a not relevant example for this chapter in my opinion. Rather than this tricks example,data model and Yii data handling internal architecture can help a developer a lot.

Zii is a wonderful tool for handling data and make automated CRUD based basic application.I found this chapter really helpful because of writer tried to explain Under the hood of Zii,how all the classes are working.How to use grid and list view,this should help any developer.Custom grid implementation is a nice step by step example to customization Zii based code.Chapter 8,9 seems to be a well described chapters with some handy techniques for Yii core contribution and debugging.Other chapters seems interresting for advanced Yii developers,I personally liked chapter 12 as its described to add External classes,framework’s code into Yii application.Specially Zend Framework using Yii section is an exclusive section for any developer because following the steps you can easily migrate any other frameworks code to your Yii application and just use it.

And final chapter about deployment staffs which will help new Yii developers.Finally I will vote up for this book because this cookbook is well combination of “Under the Hood” and “Tricks and best Practices”.If you are a new Yii developer,I am sure it will pave your way to Yii based application development,if you are an advanced Yii expert,it will help you to extend your expertise  further.Happy Coding 🙂

Advertisements

Creating a YII application theme from a HTML template.

Last week I was working on a  project,that was developed  using YII.Client requested some new features in the existing application and asked us to change the old layout of the application.In this post I am using a HTML template to integrate in YII app.

I have built a default webapp using YII command line tool.If you are not familair with YII command line basic app creation you can check my previous post on YII.

The three simple steps are:

1.Choose a HTML template and keep it under the theme directory an declare it in application configuration.

2.Making valid directory structure so that framework configuration can identify the theme

3.Add PHP code to the static HTML template

Step 1.For this post I have used a Open Source Free HTML5  template,you can choose you own and play with it.

Declare the theme name into the application configuration and it is application/protected/config/main.php and add


'theme'=>'custom_theme',

Here “custom_theme” is the name of the theme I am using.

Step 2.Keep the HTML template into the themes folder of the application.And create four directory named as follows:

>>js: here we will keep all the javascript files

>>css: here we will keep all the css files

>>images:will keep images related to the theme

>>views:here we will have to create two more directory inside it=> sites and layouts.Here we will keep our files.

Inside layout the main.php file should be kept and this file is inherited by all over the theme.

And inside layout we can keep static and custom layouts like contact us,log in etc.

Step 3.In t his step we will add php code to our html template so that it can work properly and dynamic.

<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->theme->baseUrl;?>/css/style.css" />
<?php Yii::app()->clientScript->registerScriptFile(Yii::app()->theme->baseUrl.'/js/script.js'); ?>

For title you have to add

<title><?php echo CHtml::encode($this->pageTitle); ?></title>

For menu you have to add

<?php $this->widget('zii.widgets.CMenu',array(
			'items'=>array(
				array('label'=>'Home', 'url'=>array('/site/index')),
				array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
				array('label'=>'Contact', 'url'=>array('/site/contact')),
				array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
				array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
			),
		)); ?>

And the main layout is ready,as other pages are inherited from this main.php the theme is almost ready.
As we are working with YII default command line app,I have to create a form for contact us page.The form is created during the application creation now
we have to put a custom widget to have the contact us form.I have used all the default code from the app just added form inside new custom theme.
The theme is ready.

And Contact us is:

You can fork into my git repo and play with it from here.


N.B:My git YII_THEME app is outside the YII Framework directory,to run it you should keep the framework directory just before it.

To learn more about YII theming,you can check it.

PHP framework YII-Yes It Is :)

I have played with two of the PHP frameworks.

1.CodeIgniter

2.YII

I found that  YII powerful l framework as it’s a new framework there is low resource density in the net.Me and saikat developed a Human Resource Recruitement System using YII.We had great time with YII.We were new to this framework and we have to meet a tight deadline.And we took the courageous decision to go with it.I am going to share how to build very basic web application with this.

1.Download YII framework form here.

2.Install wamp server(for windows)

3.Then keep the framwork to the www directory.

4.Go to the CMD and type commands(structure as follows)


cd  /wamp/www/yii/framwork/
yiic.php  webapp  D:/wamp/www/test_app2(path to your new web app)

my command was like below:

Run Commands

Run Commands For First Basic Web App using YII

5.After pressing “y”  the basic web application will be created.Go to the browser and just type:

http://localhost/test_app2(name of your application directory)

The basic app is like:

Home Of YII Basic web Application

Contact Us Form: Of YII Basic web Application

For further modification and functionality,developer should understand the basic of MVC pattern.Then he  could easly add new features to this basic app.

To know the features of YII .Click Here

Download YII Agile Book

So have fun with YII-YES IT IS 😀