Code style

You are viewing revision #2 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version.

next (#3) »

  1. Where to put what
  2. Widgets

Where to put what

Many time, writing widgets or editing Gii code, there can be the doubt if the code is following the MVC patter or not.

A few suggestion can help to detected the most evident error of style.


In the controller there should be the code for collect user input, retrive models from database, rendering views.

In a controller there should never be:

  • html code (it should be in the view)
  • sql code (there should never be, if is needed it should stay in a model)
  • field name they should be in the view.

Avoiding embedding field names allow you to change the database with minimal effort.


In the views (and only in the views) there should be the html code.

In the view there should not be:

  • user input ($_GET, $_POST) input should be collected in models in the controllers, never in views.
  • sql code: if is neede, better to crete functions in the models

The less php operation there are in the views, the best it is. Instead of concatnate 2 fields, is better to write a getter method, so you can reuse in other views.


The models are used for collect user inputs and access to the database.

In the models there should not be:

  • user input ($_GET, $_POST)you should write a function that will be called in the controller.
  • html code (it should be in the view)


Widgets has a behavior similar to controllers. If a widget is supposed to create lot of html, better to create a view file for it.

29 0
Viewed: 27 791 times
Version: Unknown (update)
Category: Tips
Tags: mvc
Written by: zaccaria
Last updated by: g3ck0
Created on: Nov 9, 2010
Last updated: 13 years ago
Update Article


View all history

Related Articles