Originariamente inviato da Marburg
Guarda, il funzionamento in sè è semplicissimo.
Un funzione riceve in ingrsso il testo del template. Magari da un file di testo .html e sostituisce a {testo} la variabile $testo.
Io personalmente utilizzo le espressioni regolari che mi evitano di scrivere una marea di codice.
Poi puoi complicare le cose a più non posso realizzzando comandi come i condizionali, i loop e altre cose.
Secondo me il ruolo di un template non è esattamente quello di separare totalmente la grafica dalla logica. Mi spiego. Capita spesso che in una pagina sia necessario visualizzare due testi differenti in base ad una variabile. Realizzare 2 template mi pare un lavoro lungo e noioso mentre avere la possibilità di realizzare un unico template che possa "da solo" decidere quale testo visualizzare mi pare la cosa migliore!
In secondo luogo un template dovrebbe essere un file unico! Non esiste che si salva in un db tutti i piccoli pezzi HTML che compongono una pagina e poi uno script li assembli per produrre l'output. Per come la vedo io lo script deve fornire al template tutte le informazioni necessarie per visualizzare una pagina intera con strutture dinamiche minime... quindi loop e condizionali!
Come ultima cosa un engine di template dovrebbe permettere di realizzare questi ultimi con tool visivi quali DreamWeaver o simili... Se anche i template devono essere scritti a codice che senso ha?
Scaricati xBlueII e provalo!
http://www.xblueproject.com
vedrai che usandolo un po' tutto sarà + chiaro. In + vengono rilasciati anche i files sorgenti!
Ciao!