Aew! Eu não morrí viu??…ainda xD
Entaum mais um novo post, mas agora falando sobre o poder da classe de templates Smarty do PHP.
O Smarty tem a finalidade de agregar (ou carimbar, se preferir xD) dados à templates HTML prontos. O programa basicamente substitui informações entre tags (geralmente { e }) em templates HTML, pelos dados que você manda pelo PHP através do SMARTY.
O Smarty aumenta a produtividade e a organização de projetos, pois usando-o, separamos o gráfico do funcional.
Ele possui um compilador interno que interpreta uma sintaxe própria na mesma linha do php, auxiliando certas tarefas como: loops e resolução condições lógicas dentro do code dos próprios templates.
(E, sim, esta definição foi tirada da WikiPédia! porem, fui eu quem escrevi o artigo lá xDDD)
Vamos a parte prática então!
Primeiro baixe a classe inteira aqui: http://www.smarty.net/download.php em “Last Stable Release”
Descompacte os arquivos na sua pasta de paginas do apache (ou IIS se for o caso xD) e os diretorios serão montados.
Bora montar um exemplo simples de funcionamento???
Tudo que você precisa está na pasta libs, então pegue-a e coloque-a em uma pasta de testes.
Em seguida crie 2 pastas: templates, templates_c (<- chmod 777, leitura e escrita para esta pasta)
Bem, montamos a estrutura padrão basica de uma pagina com o smarty na pasta de teste
Entendendo:
* A pasta libs contém a classe SMARTY em sí, o core.
* A pasta templates possui arquivos de templates para ultilizar-mos com o SMARTY. Os templates tem a extensão .tpl no final porem não passam de HTMLs preparados por vc para reeber informações em campos pré programados.
* A pasta templates_c é a pasta onde ficam os templates já processados, é o cache/buffer do SMARTY (para não ficar tendo que re-compilar a pagina toda hora xD).
Agora dentro da pasta templates vamos criar um template bem básico, que chamaremos de: teste.tpl, com o seguinte conteúdo:
<html>
<header><title>{$titulo}</title><header>
<body>
<center>{$corpo}</center>
</body>
</html>
Uhmmmmm, quer dizer que eu uso variaveis do php dentro de templates que são na verdade arquivos HTML??
Na verdade pode ser, fragmentos de HTML, que serão juntados por vc através do SMARTY. E não são variaveis do php, são variaveis de “assinalagem/maquiagem” do SMARTY.
Vamos ao raiz de nossa pasta teste e criamos um index.php para finalmente fazermos nossa integração xD:
<?
include “libs/Smarty.class.php”; //inclui a classe
$smarty = new Smarty; // cria novo objeto dentro da var smarty
$smarty->compile_check = false; //desativa a checagem de compilação
$smarty->caching = false; //desativa o cache (odeio debugar com cache xD..tem q ficar apagando td hr)
$smarty->assign(”titulo”,”Pagina de exemplo SMARTY!”); // definimos a valor qu será exibido no campo titulo do template
$smarty->assign(”corpo”,”Mim funga! xD”); // definimos a valor qu será exibido no campo corpo do template
$smarty->display(”teste.tpl”);//compila o template teste.tpl com as informações de variaveis previamente configuradas!
$smarty->clear_all_cache();//limpa td o cache…como ja disse..odeio-o =X
?>
No proximo post explicarei como funciona condições e loops dentro dos proprios templates html do smarty.
Espero que tenham gostado xD …
Abraços (de macho pow) e até a próxima!
