Smarty is on my evil list
Although I have my grousing about PHP in general, I have to say that it makes much better template language as-is before pulling something like Smarty into the mix.
At this point, I consider Smarty to be evil—though I'm willing to admit that I haven't grokked it fully yet. And this is coming from a templating addict who has been at times in love with Template Toolkit in Perl, Velocity in Java, and Cheetah and Woven and ZPT/TAL in Python.
WordPress seems to have put native-PHP-as-templating to good use, so I've already got a favorite for comparison. But the use of Smarty in reBlog rubs me the wrong way. Of course, reBlog has a lot of highly-abstracted MVC architecture going on. And this, itself, is something I haven't much in my PHP explorations thus far. (In fact, I almost hate to see PHP chopped up in this J2EE-esque fashion, but that's another story. Oh, and reBlog rocks, by the way.)
But either way, Smarty makes this right-handed hacker feel like he's writing with his left. It seems to have a lot of weird conventions and terminology for which neither knowledge of PHP nor knowledge of other templating systems in general seem much help. It could just be a learning curve, but to me it seems like an odd sideways curve at the moment.
In fact, you know what? Smarty reminds me a lot of DTML in Zope. I hate DTML—it, also, is most firmly on my evil list.
Yuck. Again, it could be just that I haven't known Smarty long enough to like it... but yuck.