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.