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; a PHP backend and Smarty template frontend; compliment PHP, not replace it; fast development/deployment for programmers and designers; quick and easy to maintain; a syntax that is easy to understand, with no PHP knowledge required; flexibility for custom development; and security (insulation from PHP).
TinyButStrong is a template class for PHP that allows you to generate XML/HTML pages and any other files based on text source. The engine gives facilities to work with any databases, including in native PDO, MySQL, PostgreSQL, SQLite, PHP arrays, and more. It is possible to design templates using any visual editor (like Dreamweaver or FrontPage), and thus to make templates that are compatible with W3C standards for example. It features simple block management, useful display formats, conditional displaying for blocks and locators, remote XML/HTML attribute modification, a cache system, and the ability to include sub-templates and execute associated scripts. Plug-ins are supported since version 3.0.
PHPTAL is a fast, safe, XML-based template engine for XHTML and HTML5. It implements Zope's Template Attribute Language, which has clean, concise syntax that is compatible with XML tools (no custom ugly tags), and template source files can even be previewed in Web browsers or opened in WYSIWYG editors. Templates are compiled to PHP and cached, giving great performance and taking advantage of PHP accelerators. PHPTAL by default ensures well-formed output and escapes XML-unsafe characters everywhere, which means that your pages can be completely safe against HTML-injection (XSS) without great effort. It features fine-grained caching of output, pre- and post- filters, internationalization via gettext or custom backend, creation of custom template attributes and expressions, and templates loaded from non-standard sources (e.g. databases). It supports UTF-8 well, is easy to integrate and redistribute with PHP frameworks and applications, and has an object-oriented design and a comprehensive unit test suite.
DooPHP is a very fast PHP framework. It enables developers at all levels to rapidly develop robust Web 2.0 applications. It is quite feature rich. DooPHP supports some common stuff found in a Web framework, such as an MVC-base structure, RESTful APIS, a REST client, URI routing, database ORM tools, a model generator, HTTP Digest Authentication, a flexbible compiling template engine, logging and profiling tools, and more.
OpenTBS is a PHP tool that helps you to make OpenOffice and MS Office documents using templates. You first design your template using OpenOffice or MS Office, and then OpenTBS merges it with data that you supply from PHP code and databases. It has facilities to manage pictures. The resulting documents are saved to file, served for download, or returned as a string. In fact, OpenTBS can merge any OpenDocument files, any OpenXML files, and any XML files compressed in a Zip archive. No extra exe file is required and it makes no temporary files, since all work is done in memory. OpenTBS is based on the TinyButStrong template engine.
Dextep Template Engine implements a template engine based on regular expression replacements. It can process a template with marks that define placeholders or sections using regular expressions to locate and replace those marks. Currently, it supports marks that define expressions, conditions, loops, and sub-templates files. The templates may compiled and cached to avoid processing the templates again in the future.
MoxesTemplate is a lightweight PHP template class with simple syntax and usage. It's built for developers who need to allow other people to edit their templates. It can be locked inside a directory so the user can't include files outside of the locked path. No PHP code is allowed inside the template.