Earlier quoted context omitted.
Among PHP developers, the idea that "PHP is already a templating language" became pretty much memetic. I use an older version of this engine in my work and never really bought into actively hating Smarty, although I stopped using it for my own projects. One of the core arguments against it, I think, was PHP developers suddenly remembering short tags and alternative syntaxes for control structures (if, foreach) that m…
I've always thought that the problem with that viewpoint is that PHP is actually a pretty bad templating language. In Django templates: {{ name }} Things get a bit better if you write your own "h" function: function h($var) { echo htmlentities($var); }
There are also nice little shortcuts in Smarty, like wrapping templates in {strip}{/strip} to strip newlines and whitespace which would be tricky in PHP without using output buffering.