Questo è il seguito della installazione di base, siete pregati di leggerla prima!
Un modo leggermente più flessibile di installare Smarty è di estendere la
classe e inizializzare il vostro ambiente di Smarty. Così, invece di impostare
ripetutamente i percorsi delle directory, riassegnare le stesse variabili ecc.,
possiamo farlo in un unico punto.
Creiamo una nuova directory "/php/includes/guestbook/" e un file chiamato
setup.php. Nel nostro ambiente di esempio, "/php/includes" fa parte
dell'include_path. Assicuratevi che sia così anche per voi, oppure usate percorsi
assoluti.
Example 2.10. Edit di /php/includes/guestbook/setup.php
<?php
// caricamento delle librerie di Smarty
require('Smarty.class.php');
// Il file setup.php è un buon punto dal quale caricare
// le librerie necessarie all'applicazione, quindi
// potete farlo qui. Ad esempio:
// require('guestbook/guestbook.lib.php');
class Smarty_GuestBook extends Smarty {
function Smarty_GuestBook()
{
// Costruttore della Classe. Questi dati vengono automaticamente impostati
// per ogni nuova istanza.
$this->Smarty();
$this->template_dir = '/web/www.example.com/smarty/guestbook/templates/';
$this->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/';
$this->config_dir = '/web/www.example.com/smarty/guestbook/configs/';
$this->cache_dir = '/web/www.example.com/smarty/guestbook/cache/';
$this->caching = true;
$this->assign('app_name', 'Guest Book');
}
}
?>
Ora modifichiamo il file index.php per usare setup.php:
Example 2.11. Edit di /web/www.example.com/docs/guestbook/index.php
<?php
require('guestbook/setup.php');
$smarty = new Smarty_GuestBook;
$smarty->assign('name','Ned');
$smarty->display('index.tpl');
?>
Come potete vedere, è molto semplice creare un'istanza di Smarty, basta usare Smarty_GuestBook che inizializza automaticamente tutto ciò che serve alla nostra applicazione.
