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.