Utiliser des templates, ça a des avantages évidents :
- un non-codeur peut modifier le look d'un site assez facilement
- le code reste clean, car il y a 0 html, la présentation est différenciée des traitements
L'inconvénient : ça augmente la charge du serveur
Il y a plusieurs librairies de templates : FastTemplate (http://www.thewebmasters.net/php/FastTemplate.phtml) est la seule que je connaisse et est la plus utilisée (pas sur), il y en a d'autres qui sont mieux il parait (pas vérifié)
Pour les fonctions de haut niveau, il y a phpLib : http://sourceforge.net/projects/phplib
et PEAR : http://pear.php.net/