Le site ThePHPGuy propose un article objectif (à mon sens) sur l'un des marroniers du PHP : les templates. L'auteur s'attache en particulier à répondre aux principaux arguments qui sont régulièrement avancés afin de mettre en avant les solutions de templates :

• Le PHP est trop compliqué pour les designers. Ils ne veulent que du HTML !
• Les templates assurent une séparation traitements/données,
• Il est possible d'utiliser des caches pour améliorer les performances,
• La maintenance est grandement simplifiée.

Cet article fait naturellement penser à ce que disait Rasmus (merci Damien) à l'occasion du LinuxTag 2002 :

"PHP est et restera un système de gabarits, même très évolué. Au début, c'était un outil pour me simplifier la vie avec les affichages HTML. Un jour, on m'a demandé d'ajouter l'instruction if, et je l'ai ajouté. Puis, on m'a demandé 'else', et naturellement, je l'ai ajouté. Et les boucles while et for ont suivi.. Certes, aujourd'hui, c'est bien plus qu'un simple langage de gabarit. Mais si vous regardez les applications de gabarits qui sont publiées, elles commencent aussi à intégrer des conditions et des boucles. Elles finiront par refaire ce que fait PHP, une couche au-dessus de PHP. C'est inutile!".

The Deadly Sins of Templates in PHP
Etude sur les solutions de Templates (GLOBALIS)
Résumé du LinuxTag 2002 (Nexen)