(stylized as dwoo) is a modern, flexible and oriented object template engine for PHP, facilitating the
separation of presentation (HTML/CSS) from application logic.
In many aspects, dwoo is compatible with Smarty's templates and plugins because dwoo's author based it on the general ideas that Smarty has introduced to the world of web development.
Started in early 2008 by Jordi Boggiano, the idea came from the fact that Smarty is getting older and older. It carries the weight of it's age, having old features that are inconsistent compared to newerones, being written for PHP4, it doesn't take advantage of PHP5's more advanced features in the area.
Dwoo's template engine takes advantage of the new features offered by PHP5. So it is a well-written, object-oriented template engine that allows easier and faster development compared with Smarty and still it is compatible enough to allow developers using Smarty to make a smooth transition to dwoo.
Since 2013, a new author push the project back on track following a time of non-activity of the project. New releases has been pushed online to make dwoo more stable than before, fixing issues, making package available on packagist.org for everyone and adding new features.
Dwoo template engine is released under a modified LGPLv3 license.
What is a Template Engine?
As we continue to develop complex web applications, it is becoming more important to have a wall
of separation between application logic and display logic so that back-end
developers and front-end developers can collaborate on the same areas of the website without
having to step around each other’s code.
A template engine solves this situation by providing a concise syntax front-end developers can use to display data prepared by back-end developers. The front-end developers experience the benefit of clean and pretty views they can read and modify, and in-turn the back-end developers can free themselves of the responsibility of maintaining the views.
It’s a win-win.
Dwoo for Developers
Dwoo provide a well coded library following PHP Standards Recommendations such as
PSR-1 Basic Coding Standard,
PSR-2 Coding Style Guide and
PSR-4 Autoloading Standard.
Dwoo library is registered on Packagist.org, The PHP Package Repository website allowing developers an easier installation of the library in their PHP projects.
It's also compatible with latest coding features and can be used with PHP5 and PHP7 versions. A fast caching and compiler systems are included in dwoo, used to speed up calls of rendered pages.
Dwoo include a plugin architecture that is used for almost all the customizable functionality. Users can easily create they own plugins using the well documented API.
Finally, dwoo provide a configuration file for Docker to execute PHPUnit testing framework from PHP5.3 to PHP7.1.
Dwoo for Designers
Without forgetting frontend developers, dwoo provide a complete documentation to learn dwoo
syntax. Following the same syntax has Smarty, designers can easily make a smooth transition
from one to another.
Dwoo is very easy to use and understand, it provide a lots of plugins allowing designers to handle data directly in their part.
Dwoo offers adapters that help developers integrate it into web frameworks.
Originally dwoo, offers adapters for web frameworks such as CakePHP, Zend Framework, Code Igniter, Agavi and Yii.
Since the version 1.3.6 a new adapter for Symfony is now available.