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.
Exemplo 2-10. Editando /php/includes/guestbook/setup.php
// carrega a biblioteca do Smarty require('Smarty.class.php');
// O arquivo setup.php é uma boa forma para carregar
// arquivos de bibliotecas da aplicação exigida, e você pode fazer
// isso corretamente aqui. Um exemplo:
// require('guestbook/guestbook.lib.php');
class Smarty_GuestBook extends Smarty {
function Smarty_GuestBook() {
// Construtor da Classe. Estes automaticamente são definidos a cada nova instância.
$this->Smarty();
$this->template_dir = '/web/www.mydomain.com/smarty/guestbook/templates/';
$this->compile_dir = '/web/www.mydomain.com/smarty/guestbook/templates_c/';
$this->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
$this->cache_dir = '/web/www.mydomain.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:
Exemplo 2-11. Editando /web/www.mydomain.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.