Buondì (skidx connesso prima di mezzogiornoVVoVe: )
sto sviluppando, per un sistema di gestione weblog, un template engine apposito. Non è il classico template engine che prende le variabili e le sostituisce con i vari preg_* eregi_* o eval, è una cosa un po' più complessa, per esempio in base a quello che c'è nel template devo decidere quali dati prendere dal database, quindi per questo e per altri motivi devo per forza fare una sorta di "compilazione" del template, cioè leggerlo, beccare i tag speciali, interpretarli (e dedurre i dati che servono) e sostituirci del codice php dentro (per poi mandare in esecuzione la versione "compilata").
Naturalmente questi tag del template sono alternati a semplice testo.
al momento io per ogni sostituzione apro e chiudo i tag php, e il risultato è la classica pagina con html misto a php.
In termini di performance esiste un metodo migliore?
Non so, magari prendere le parti di testo e schiaffarle dentro un echo in modo da avere un'unica modalità php, o qualcos'altro.
Chiedo a voi perché magari qualcuno ha già fatto di questi test.
La seconda domanda riguarda impedire che nel template venga messo del codice php, io semplicemente ero dell'idea di parsare i vari tag di apertura/chiusura php, poi ho letto questa cosa nel changelog di Smarty che mi ha messo un po' in guardia:
Che cavolo è questo "hashed opening php-tags?a vulnerability was discovered that allows PHP code to be executed from within a template file, even with the template security features enabled.
- fix handling of hashed opening php-tags inside strip-blocks (messju)
Mi devo spulciare il codice di smarty o qualcuno ne sa già qualcosa?
Grazie