My favorites | Sign in
Project Logo
                
Search
for
Updated Feb 28, 2009 by erdmann.tester
MissingDetails  
All missing features described in detail and why they are missing

Missing features in detail

For years I was an enthusiastic Smarty user. And I am today. But most of its features either I do not need or I have already integrated in my framework (to work with other views in a MVC too). These features slow Smarty down.

There are of course a lot of other engines, but none of them is what I have been waiting for. Many have a complex syntax or are too slow. Others integrate features I don't need or are not ready for a production environment and their development is frozen.

At the end I decided to write my own engine which fits my needs.

template security

Template Security is good for situations when you have untrusted parties editing the templates eg via ftp, and you want to reduce the risk of system security compromises through the template language.

For the last ten years as php developer I never needed that feature. I always thought: "Some day I will certainly need that". But this day did not arrive. And when it should arrive I will switch back to Smarty for that project. This feature is probably the most performance consuming thing in Smarty because the template engine has to simulate all php control structures with an own language to secure the templates.

Do not use Serpent if you want to roll out your templates to third parties or rather untrusted people.

caching system

The caching of the view in a MVC framework is very important and should never be absent. But in a mature one you do not just have one template engine. Probably just one for (X)HTML but there are more engines for XML output, JSON, CSV and so on. And their output have to be cached. It makes no sense to integrate different caching mechanism for all engines. Many frameworks have a so called "view manager" which controls the other engines and is also resonsible for the caching.

So I see no need to integrate caching.


Sign in to add a comment
Hosted by Google Code