XOOPS Brasil

 

Estendendo a configuração

Esta é uma continuação da instalação básica, por favor leia a instalação básica primeiro!

Uma forma um pouco mais flexível de configurar o Smarty é estender a classe e inicializar seu ambiente de Smarty. Então, ao invés de configurar caminhos de diretórios repetidamente, preencher as mesmas variáveis, etc., nós podemos fazer isso para facilitar. Vamos criar um novo diretório "/php/includes/guestbook/" e criar um novo arquivo chamado "setup.php". Em nosso ambiente de exemplo, "/php/includes" está em nosso include_path. Certifique-se de que você também definiu isto, ou use caminhos de arquivos absolutos.

Example 2.10. Editando /php/includes/guestbook/setup.php


<?php
// Carrega a biblioteca Smarty
require('Smarty.class.php');

// O arquivo setup.php é um bom lugar para carregar
// arquivos necessarios para a aplicação e você
// pode faze-lo aqui mesmo. Um exemplo:
// require('guestbook/guestbook.lib.php');

class Smarty_GuestBook extends Smarty {

    function Smarty_GuestBook()
    {

        // Construtor da classe.
        // Este é chamado a cada nova instância.

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

}
?>

     

Agora vamos alterar o arquivo index.php para usar o setup.php:

Example 2.11. Editando /web/www.example.com/docs/guestbook/index.php


require('guestbook/setup.php');

$smarty = new Smarty_GuestBook;

$smarty->assign('nome','Thomas');

$smarty->display('index.tpl');
     

Agora você pode ver que é extremamente simples criar uma instância do Smarty, apenas use Smarty_GuestBook que automaticamente inicializa tudo para a nossa aplicação.