Expandiendo la configuración

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.