Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. This implies that PHP code is application logic, and is separated from the presentation.
The Smarty design was largely driven by these goals:
* clean separation of presentation from application code
* PHP backend, Smarty template frontend
* compliment PHP, not replace it
* fast development/deployment for programmers and designers
* quick and easy to maintain
* syntax easy to understand, no PHP knowledge required
* flexibility for custom development
* security: insulation from PHP
* free, open source
The template engine has many features for presentation that would otherwise need to be developed, tested and maintained in your own application code. Tags also mask the complexity of PHP statements. No different than PHP being an abstraction layer on top of C to simplify development, Smarty is an abstraction layer on PHP to simplify template maintenance.
If you want to know more about the Smarty please visit http://www.smarty.net/