@ aschenaz:
Scusami, forse ho usato toni un po' aspri, però mi sembrava di cogliere una certa supponenza. In ogni caso nulla di male, è un forum: ognuno espone il suo punto di vista.
Personalmente, non ritengo certo il tuo codice peggiore o più complicato degli altri presentati in questo topic, anzi. Semplicemente non condivido il metodo, tutto qui. Considerato quanto sforzo richiede un template engine semplice come quello che uso io sia in quanto ad apprendimento sia in quanto a implementazione, semplicemente ritengo che sia adatto anche per cose *piccole*. Sarò pignolo (sicuramente, considerato il lavoro che faccio) ma penso che agire con ordine e metodo anche nel piccolo sia la scelta *giusta* (anche se non sempre la più comoda o semplice) 10 volte su 10, per questioni di coerenza, leggibilità ed espandibilità. E' una questione di principio, se vogliamo, di "buone abitudini di programmazione". Per lo stesso motivo quando programmo in C controllo sempre i risultati delle funzioni, faccio assert etc etc. Si può fare anche senza ma... devo continuare?

@ puzuma:
quando si parla di template engine, chissà perchè ma viene sempre fuori smarty

Se parliamo di smarty, son d'accordo con te: complica inutilmente le cose aggiungendo uno pseudo linguaggio simile a quello che era il php X anni fa, perchè non usare php in quel caso?
Ma io non parlo di smarty, perchè template engine non è sinonimo di smarty. Esistono template engine semplici come quello che uso io il cui scopo è solo la separazione del codice php da quello html, con semplici funzioni di parsing e poco altro. Nel caso di template engine come questo, il discorso cambia completamente, rendendo il lavoro decisamente più pulito/ordinato/semplice.