Framework e template engine: mi dite la vostra?
La scorsa settimana Fabien Potencier ha pubblicato Twig, un template language per PHP, che entra di fatto a far parte dei prodotti di Sensio Labs. Twig, inizialmente sviluppato da Armin Ronacher, è subito piaciuto a Potencier che ci ha messo del suo per portare il progetto verso quelle che sono le sue idee riguardo a quanto un template engine dovrebbe essere.
Sul suo blog Potencier ha espresso un po’ di idee sullo stato attuale dell’arte in termini di template engine paragonando ciò che la rete offre, ha anche pubblicato alcuni test comparativi delle performance dei vari prodotti. Risultato: poco meno di 90 commenti in nemmeno una settimana ed un post in risposta da parte di Eli White che solleva alcuni dubbi. Il cerchio si chiude con la risposta di Potencier in un altro post. Consiglio la lettura dei post e di tutti i commenti visto che ci sono degli spunti davvero interessanti su cui non voglio soffermarmi al momento.
Quello di cui vorrei parlare è ad un livello un po’ più alto: template engine si o no?
Personalmente negli ultimi anni ho sviluppato applicazioni con un framework, sviluppato internamente dall’azienda per cui lavoro, basato su Smarty per la creazione dei template. Da quando ho iniziato ad usare symfony, che ricordo è un MVC, mi sono sempre chiesto se mi mancasse davvero Smarty visto che i template si realizzano direttamente in PHP.
La risposta non la so ancora dare, posso tuttavia esprimere dei pareri sulle due strade che si possono seguire:
PHP
- creare i template direttamente in PHP evita di aggiungere un ulteriore layer al tutto
- non si deve imparare un altro linguaggio (per semplice che sia)
- permette più libertà (con attenzione)
TEMPLATE ENGINE
- rende più leggibili i template, specialmente quelli più complessi
- rende più accessibili, in termini di manutenzione, i template anche ai non sviluppatori
- aiuta ad essere più aderenti al design pattern MVC
Quello che più è importante secondo me, che si usi PHP od un template engine, è fare in modo che nella vista (V, di MVC) ci si limiti a presentare i dati e non ad elaborarli. PHP è uno strumento potente più del necessario per “mostrare” dei dati, va usato nel modo giusto. Un template engine dal canto suo, più scarno e povero di funzioni, potrebbe aiutare in tal senso a patto che non lo si vada ad estendere con mille plugin sviluppati ad hoc per tutte le occorrenze. A quel punto tanto vale restare con PHP…
E voi come agite? Quali sono le vostre esperienze in merito?





Commenti
Io la vedo come un’opportunità in più: se ho bisogno di dare in pasto i miei template a dei grafici non svilupattori, ben venga twig. Ma se (come mi accade quasi sempre) i template li faccio io (e i grafici si limitano al css), preferisco tenermi il php.
E’ sicuramente un’arma in più nelle mani dello sviluppatore. Poterla utilizzare con facilità la rende davvero utile.
[...] Framework e template engine: mi dite la vostra? La scorsa settimana Fabien Potencier ha pubblicato Twig , un template language per PHP, che entra di fatto a far parte dei prodotti di Sensio Labs. blog: PHP Blog | leggi l'articolo [...]
[...] Framework e template engine: mi dite la vostra? La scorsa settimana Fabien Potencier ha pubblicato Twig , un template language per PHP, che entra di fatto a far parte dei prodotti di Sensio Labs. blog: PHP Blog | leggi l'articolo [...]
[...] Framework e template engine: mi dite la vostra? La scorsa settimana Fabien Potencier ha pubblicato Twig , un template language per PHP, che entra di fatto a far parte dei prodotti di Sensio Labs. blog: PHP Blog | leggi l'articolo [...]