Dwoo is a PHP5 template engine positioned as an alternative to Smarty, it is (nearly) fully compatible with its templates and plugins, but it is written from scratch and aimed at going one step further with a cleaner codebase.
Main Features - v0.9.2 - June 28, 2008
- Template Inheritance, a fresh look at complex template structures, now built without includes
- Smarty syntax compatibility with several additions and shortcuts to speed up template writing
- Flexible plugin creation, plugins can be wrapped in classes or simple functions, they can be precompiled to optimize the load time of the template, etc.
- Scope aware engine, allowing for shorter templates
- Unicode / UTF-8 support for string manipulation functions.
- Generally faster than Smarty with variable speed improvements depending on the features used.
- E_STRICT compliant code that does not throw PHP warnings.
A bit of history
Dwoo is a PHP5 Template Engine that was started in early 2008. The idea came from the fact that Smarty, a well known template engine, is getting older and older. It carries the weight of it's age, having old features that are inconsistent compared to newer ones, being written for PHP4 its Object Oriented aspect doesn't take advantage of PHP5's more advanced features in the area, etc. Hence Dwoo was born, hoping to provide a more up to date and stronger engine. So far it has proven to be faster than Smarty and it provides a compatibility layer to allow developers that have been using Smarty for years to switch their application over to Dwoo progressively. Have a look at the docs for more details or jump in and try the last release !
The Future - Roadmap
Target Version - v1.0.0 - July/August 2008
- Full documentation for plugins (done) and core classes
- Debug features / more detailed error messages
- Bug fixes and small features depending on user feedback
Later / Uncertain
- Functions aliasing
- Namespaces support (with PHP5.3)
- Template Internationalization helpers (?)
- ... ?
Please contact me if you have any feature request, proposal or simply want to have a chat about the engine or the last movie you watched if it was that cool.