What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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.