Installazione avanzata
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.
Esempio 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:
Esempio 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.