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.