Вот еще один правильный взгляд на шаблоны (курсив мой):
"I’m basically advocating a «template engine» that uses PHP code as it’s native scripting language. I know, this has been done before. When I read about it, I thought simply, «what’s the point?» After examining my co-worker’s argument and implementing a template system that uses straight PHP code, but still acheives the ultimate goal of separation of business logic from presentation logic (and in 40 lines of code!), I have realized the advantages and honestly, can probably never go back.
While I think this method is far superior, there are of course some issues. The first argument against such a system (well, the first argument I would expect) is that PHP code is too complex, and that designers shouldn’t be bothered with learning PHP. In fact, PHP code is just as simple (if not moreso) as the syntax of the more advanced template engines (such as Smarty).