Smarty es un motor de plantillas para PHP. Smarty separa el código PHP, como lógica de negocios, del código HTML, como lógica de presentación, y genera contenidos web mediante la colocación de etiquetas Smarty en un documento. Se encuentra bajo la licencia LGPL por lo que puede ser usado libremente.
Es común que en grandes proyectos el rol de diseñador gráfico y el de programador sean cubiertos por personas distintas, sin embargo la programación en PHP tiene la tendencia a combinar estas dos labores en una persona y dentro del mismo código lo que trae consigo grandes dificultades a la hora de cambiar alguna parte del diseño de la página, pues se tiene que escarbar entre los scripts para modificar la presentación del contenido, Smarty tiene como objetivo solucionar este problema.
Smarty permite programar plantillas con un gran número de funcionalidades, como:
expresiones regulares
bucles foreach, while
if, elseif, else
modificadores de variables - Por ejemplo {$variable|nl2br}
funciones creadas por el usuario
evaluación de expresiones matemáticas en la plantilla
Tomado de Wikipedia, Febrero 2010