Smarty is a template engine for PHP. More specifically, it facilitates a manageable way to separate application logic and content from its presentation. One design goal of Smarty is the separation of business logic and presentation logic. This means templates can certainly contain logic under the condition that it is for presentation only. One of the unique aspects about Smarty is the template compiling. This means Smarty reads the template files and creates PHP scripts from them. Once they are created, they are executed from then on. Therefore there is no costly template file parsing for each request. Some of Smarty's features: * extremely fast * efficient since the PHP parser does the dirty work * no template parsing overhead, only compiles once * recompiling only the template files that have changed * custom functions and custom variable modifiers * configurable template delimiter tag syntax * the if/elseif/else/endif constructs are passed to the PHP parser, so the {if ...} expression syntax can be as simple or as complex as you like. * unlimited nesting of sections, ifs, etc. * embedding PHP code right in template files * built-in caching support * arbitrary template sources * custom cache handling functions * plugin architecture