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.
Example 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:
Example 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.