Olá amigos,
aqui vou mostrar algumas coisas sobre o Smarty e como utiliza-lo para a criação de um projeto de template dinâmico utilizando PHP para popular suas variáveis. Com ele é possível criar programas PHP com a metodologia MVC, onde temos o Model (Template), View (Visualização dos dados) e o Controller (Que a grosso modo busca os dados do banco). Temos a regra de negócio do Controller, ou seja, os selects do banco estão no controller. Vamos lá?
“O Smarty é um sistema de templates para PHP. Mais especificamente, ele fornece uma maneira fácil de controlar a separação da aplicação lógica e o conteúdo de sua apresentação. Isto é melhor descrito em uma situação onde o programador da aplicação e o designer do template executam diferentes funções, ou na maioria dos casos não são a mesma pessoa.” Smart.net
1. Criando o seu primeiro template.
- Vamos criar um arquivo chamado config.php – É aqui que a gente vai inicializar toda a configuração basica do Smarty. O procedimento aqui é configurar as variáveis de localização do seu Smarty e fazer um extends. Um passo atrás, você deve criar a estrutura de diretórios do Smart, como na imagem abaixo:
<?php
// Carregando, por default a class principal do Smarty.
require('Smarty.class.php');
class Smarty_Ext extends Smarty {
function Smarty_Ext()
{
// Inicializando (construindo) as classes do Smarty
// É aqui que temos a localização das variáveis.
$this->Smarty();
$this->template_dir = '/minha_aplicacao/templates/';
$this->compile_dir = '/minha_aplicacao/templates_c/';
$this->config_dir = '/minha_aplicacao/configs/';
$this->cache_dir = '/minha_aplicacao/cache/';
$this->caching = true;
$this->assign('app_name', 'Minha Aplicação!');
$this->left_delimiter = '{{';
$this->right_delimiter = '}}';
}
}
?>
Agora vamos dar continuidade, vamos criar o documento que faz a interação dessas informações:
Chame-o de visualizar.php
// As nossas configurações pre-definidas do Smart.
require_once("config.php");
// Inicializando a nossa Classe Extendida
$smarty = new Smarty_Ext; // Ou new $Smarty se tiver config no server.
// Criando a associação na variável nome
// Com o valor "Meu nome!!!".
$smarty->assign('nome','Meu nome!!!');
// Aqui é o pulo do gato!
// Estamos realizando a ligação entre o Controller e o View.
$smarty->display('template.tpl');
Vamos agora criar o nosso template propriamente dito, chamado de template.tpl que será salvo no diretório templates.
<html>
<head>
<title>Nosso template - {{$nome}}</title>
</head>
<body>
{{$nome}}
</body> </head>
Pronto, agora você poderá visualizar o seu arquivo visualizar.php e ver o resultado!!!
Um abraço a todos, e até a próxima!!!! Sugestões e correções são muito bem vindas!!!
Léo
PS: Veja funcionando aqui!! abs

