I motori di template nascono dall'esigenza di separare la grafica dalla programmazione nelle applicazioni e siti web. Perché dovrei rendere i miei script PHP indipendenti dal layout? Il motivo deriva dalle esigenze lavorative di programmatori, grafici e progettisti HTML.
In molte aziende spesso accade che i programmatori non vogliono avere a che fare con l'HTML e vogliono evitare che i progettisti HTML facciano danni con il codice PHP. I grafici hanno il costante bisogno del supporto dei programmatori e progettisti HTML per la progettazione delle interfacce e dei contenuti dinamici, ma non vogliono avere a che fare con le complicazioni del linguaggio di programmazione. Quindi usare un motore di template è la soluzione a tutti questi problemi aziendali. Sono molti i motori sul web entrati a far parte del mondo dei programmatori e dei grafici, ma il migliore (per quanto riguarda il PHP) è il motore Smarty. Potete scaricarlo da questo link: sul sito ufficiale c'é una ricca documentazione sul suo funzionamento. Qui sotto vi riporto un esempio elementare del suo utilizzo, mentre sul sito potrete trovare molti esempi, anche avanzati:
file index.php
<?php
require('/libs/Smarty.class.php');
// libreria Smarty$smarty = new Smarty;
$smarty->assign('saluto',"CIAOOO!!"); // qui possiamo passare una stringa oppure una variabile php
$smarty->display('index.tpl');
?>
file index.tpl.html
Da mettere dentro la cartella templates. Per strutturare al meglio la directory del progetto, scaricare smarty dalla pagina di download sopra e andare nella cartella dentro il file .zip scaricato chiamata demo. Dentro la cartella libs invece troverete la libreria Smarty.class.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Pagina di Prova</title>
</head>
<body>
{$saluto} </body>
</html>
Quando chiamerete la pagina index.php visualizzerete la pagina in HTML con la scritta CIAOOO!!. Questo è un ottimo metodo anche per chi ha esigenza di poter cambiare la grafica del sito frequentemente: senza mischiare due linguaggi differenti la modifica della grafica sarà veloce e immediata.
Sono un appassionato di informatica, mi dedico allo sviluppo web e alla gestione dei sistemi web-based: realizzo siti e progetto software gestionale per privati e aziende. Ho tanta passione per tutto quello che riguarda il web e le nuove tecnologie, lavoro bene in team e collaboro con aziende e professionisti di settore.