by Semaphore - Date: 2007-02-15 - Word Count: 732 Share This!

Till now i developed most of my projects using Just last month only
i learned PHP (PHP: Hypertext Preprocessor) is a programming language
designed for producing dynamic Web pages. PHP is an open source language and
considered to be free software by the Free Software Foundation. At this time,
i discovered Smarty and have been using it in my projects.

Now the question is why do we use Smarty and what is the purpose of using

Traditionally,  when you make a web application using php, html and php scripts
are mixed in one file.

More often than not, a programmer finishes a complete project, and someone
suggests that the font and background colors chosenhe/his choose don't match
with their requirement. The programmer would then hasve to search through
dozens of php files and alter the HTML that was embedded within simply to
change the appearance of the web site and change all other properties. Editing
the php files greatly increases the chance of generatinge new errors or bugs.
It will much easier when you separate your HTML from your PHP code and will
also make it much easier to reuse your PHP code down the road in other projects.

So the above solution can be applied by using Smarty technology as, it allows
you to change the appearance of your web site by changing an HTML template
file. It also allows you to do simple if statements, dynamic repeating blocks,
and variable substitution.

The basic use of Smarty is for separation of business logic and presentation
logic, generates web content by the placement of special Smarty tags within
a document. So it allows the presentation of a web page to change separately
from the back-end, thus allowing applications to be developed in a more organized
fashion. Using this development model, designers are hidden from the back-end
coding and PHP programmers are hidden from the presentation coding.

Tasks of both designer and programmer  are is as follows :

Programmer's Tasks:

-> Fetching data from database by firing simple queries to it.

-> Manipulate or validate the data by performing business logic on it.

-> The best thing is that we can change the data access method like from
MySql to another without interfering with designer's work.

Designer's Task:

->Creating HTML pages without affecting php scripts , only concerned is
with placing content elements on the right place where the programmer has
agreed to provide.

Some of the attractive features of using smarty areis  as follows :

1) Fast : Smarty is extremely fast by doing Template
Compiling, means it reads the templates, creates php scripts and include the
php files which is finally compiled by php engine..The best thing is that
the templates are parsed only once by smarty if it is not modified again..
this results in to  fast compilation and better performance.

2) Catching : Smarty has built-in catching of your template
outputs. It catches the output of the template contents and thus saves the
overhead of retrieving the data from data source.

3) Variable Modifiers : Smarty provides variable modifiers
in order to modify the contents of a variable like converting string to uppercase
or lowercase or truncating etc things like that very easily

4) Template Function : Smarty provides some builtin and custom
functions like looping function like if statements or for loops etc.Or just
write a simple one line code which will generate a radiobuttons or calendar
or other form controls which make things faster and more  simple.r.

Smarty is a great tool for both designers and developers. By using Smarty
you can reduce the site development and maintenance times. If you are a developer
you no longer need to mix PHP code with HTML code. Just take care of business
logic and leave the HTML to the designer

Now the matter of debugging the smarty php scripts. Nusphere provides
PHP Editor for editing and debugging..Ii'ss latest verison is PhpEd version
has been released with full support for PHP 5.2.

The definitive resource for learning Smarty is,where
you will get all the stuffs related to Smarty.

I'm still learning about it, so I'm in no way an expert, but if you have
any questions, please feel free to ask.

Thank You,


By Nishant Bharathan

Nishant Bharathan is working as a Jr. Programmer at Semaphore Infotech Pvt. Ltd, India. He has 8 months Experience in .net programming. You can contact on email:

Related Tags: india, windows mobile, business process outsourcing, software testing, offshore software development, consulting services, offshore outsourcing, data entry india, offshore outsourcing india, outsourcing software development, application development, offshore software development company india, it outsourcing company, website design and development, java development, net application development, vb .net application development, asp .net development, database application, system integration, search engine optimization and promotion

Your Article Search Directory : Find in Articles

© The article above is copyrighted by it's author. You're allowed to distribute this work according to the Creative Commons Attribution-NoDerivs license.

Recent articles in this category:

Most viewed articles in this category: