Expandiendo la configuración

Esta es una continuación de la instalación básica, por favor lea esta primero!

Una forma un poco mas flexible de configurar el Smarty, expandir las clases e iniciar su ambiente de Smarty. Es, en vez de configurar rutas de directorios repetidamente, asigne esas mismas a variables, etc., nosotros podemos facilitar eso. Vamos a crear un nuevo directorio en "/php/includes/guestbook/" y llamemos al nuevo archivo setup.php . En nuestro ejemplo, "/php/includes" está en nuestro include_path. Verifique que usted también lo definio, o utilice rutas absolutas de los archivos.

Ejemplo 2-10. Editando /php/includes/guestbook/setup.php

<?php

// load Smarty library
require('Smarty.class.php');

// The setup.php file is a good place to load
// required application library files, and you
// can do that right here. An example:
// require('guestbook/guestbook.lib.php');

class Smarty_GuestBook extends Smarty {

   function 
Smarty_GuestBook()
   {

        
// Class Constructor. 
        // These automatically get set with each new instance.

        
$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');
   }

}
?>

Ahora vamos a modificar el archivo index.php para usar el setup.php:

Ejemplo 2-11. Editando /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');
?>

Ahora usted vera que es completamente simple crear una instancia de Smarty, solo use Smarty_GuestBook, que automáticamente inicializa todo para nuestra aplicación.