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