Smarty
Smarty is a template engine for PHP. Many other template engines for PHP provide basic variable substitution and dynamic block functionality. Smarty takes a step further to be a "smart" template engine, adding features such as configuration files, template functions, and variable modifiers, and making all of these functionalities as easy as possible to use for both programmers and template designers. Smarty also converts the templates into PHP scripts, eliminating the need for parsing the templates on every invocation. This makes Smarty extremely scalable and manageable for large application needs.
Smarty parses your templates and creates PHP scripts from them (instead of binaries, as in general programming). Then, when your Web page is viewed, Smarty reads from these PHP scripts instead of pulling the templates themselves, which saves the work of having to parse your templates again. Smarty is smart about when to compile, too: it only re-compiles your templates when you make changes to them, so you don't have to worry about manually compiling the templates (this is similar to JSP).
The good thing about Smarty is that you don't even have to know the PHP scripts are there, nor how compiling works. All these are hidden from view.
Smarty also features built-in caching of your template outputs. Smarty caches the output of the template contents, saving the overhead expense involved in retrieving your data from a data source.