PEAR is supposed to allow for competing packages as long as they are
different. Lots of people use Savant and it makes sense to me to
have it as it *is* a very minimal templating engine. And as said in
other comments, each of the other engines could even be extensions of
Savant, which would be intereting.
Now that I've said that, I'd like to say that I've never really liked
Savant myself. It's very strange to me to add the extra assign / etc.
syntax when you're just using PHP as your template as it is.
That's a valid point; many times, you don't actually *need* a template system per se, you just need to have your business logic set up the variables, then include your separate template script at the end.
My response to this, in summary, is this: Often, it's convenient and useful to be able to encapsulate the template inside an object so you can to logical manipulations on that object. This is why template systems can be useful.
One benefit of Savant, with the exception of the $this->plugin() architecture, is that Savant encourages just such a template system (i.e., one that you can just "include" as regular PHP). For some people that's not an option, but I think for many developers it's a wise move toward simplicity and maintainability.
I just wanted to say that I *do* like template systems. I use Smarty ATM. I just didn't get Savant (and still am less likely to use it rather than another system), but I think it should be included in PEAR as it is very minimalist and could easily be extended however each user wishes without all the extra functionality that other systems may have.
--
paperCrane <Justin Patrin>