Se você ainda não conhece o Smarty, ele é uma biblioteca que permite a separação do código (programação) do design (visualização) das páginas e com sua utilização se tem um bom ganho no tempo de processamento da página. Com sua utilização, o desenvolvimento em camadas fica mais simples. Na empresa onde trabalho, desde que iniciamos a utilização dessa bilioteca (framework), tivemos um enorme ganho de rendimento, tempo de processamento e conseguimos “separar” as funções de cada um, ou seja, programador programa (php) e designer, cuida do layout (css, imagens, etc …).
Para quem desenvolve para web (nosso caso), a separação das funções é quase uma “necessidade”, para que não se tenha tanto retrabalho. Nesse artigo vou apenas dar uma visão geral do Smarty para quem está iniciando e nos próximos irei focar mais em algumas utilizações.
Bom, para começar, baixe a bilioteca em http://smarty.php.net/download.php. Não é preciso configurar nada, o único requisito é ter o PHP 4.0.6 ou superior instalado e o Apache (servidor web), claro !
Depois de baixar os arquivos, descompacte e os coloque no seu servidor (pasta htdocs). Sugiro a instalação na raiz (ex: htdocs/Smarty), para que possa utilizar a bilbioteca em todos os projetos. Para usuários mais avançados …. tem como instalar a bilioteca no path, para que não precise ficar “incluíndo” em todos os arquivos (ver manual). E está feita a instalação !!!
Algumas dicas, para você que está iniciando:
- Você faz um arquivo PHP, que faz o “serviço sujo” (cálculos, consultas no banco de dados, etc). Esse arquivo vai “dizer” em que template que deve ser “informado” esses valores/variáveis. Então o Smarty vai pegar essas variáveis e vai “integrar” com a template, criando um arquivo compilado;
- Então,você terá 3 arquivos: 1 php, 1 template e 1 template complada, sendo que o programador vai trabalhar com o php, o designer com a template e a template compilada é com o Smarty;
- Em algumas situações, será necessário uma “mini-programação” na template, utilizando então, funcionalidades do próprio Smarty;
Vou simular uma situação, para que fique mais fácil a explicação: Digamos que você tem um projeto que se chama teste, então você teria a seguinte estrutura:
/Smarty
/teste
Então dentro da pasta teste, crie 2 outras pastas: template e compilados, onde em template estarão as suas templates e em compilados estarão as templates compiladas. E agora, vamos a um exemplo:
Arquivo chamado teste.php e salve o mesmo na pasta teste:
[php]
include_once (’../smarty/libs/Smarty.class.php’);
$smarty = new Smarty; //Cria o objeto do Smarty
$smarty->template_dir = ‘template/’; //Pasta de templates
$smarty->compile_dir = ‘compilados/’; //Pasta de templates compilados
$mensagem = “Aqui você pode deixar uma mensagem para o usuário. Essa string também pode ser o resultado de uma consulta no banco de dados, etc”;
$smarty->assign(’saudacao’,'Olá’); //função que envia o valores para a template $smarty->assign(’nome’,'Fulano’);
$smarty->assign(’mensagem’,$mensagem);
$smarty->display(’teste.tpl’); //Função do smarty que vai “integrar” as variáveis com a template e compilar tudo e “jogar” na tela
[/php]
Arquivo chamado teste.tpl e salve o mesmo em teste/template:
[smarty]
{$saudacao} ! {$nome}
{$mensagem}
[/smarty]
O exemplo vai ter como Resultado:
Olá Fulano !
Aqui você pode deixar uma mensagem para o usuário. Essa string também pode ser o resultado de uma consulta no banco de dados, etc
Esse foi um exemplo bem simples e bem geral do que pode ser feito. Nos próximos artigos sobre Smarty, irei colocar alguns exemplos mais práticos (mais avançados). Sugiro a leitura da documentação (em português), disponível em : http://smarty.php.net/manual/pt_BR/, para que possa se ter uma idéia do que é possível fazer com a utilização do Smarty.
Até o próximo artigo.
Gostaria de continuar acompanhando o que é publicado aqui no Blog do Ale ? Veja como:
1) Cadastre um e-mail para receber as novidades diretamente em seu e-mail;
2) Assine o RSS do Blog (veja como) e leia o conteúdo de qualquer leitor de Feed (endereço do Feed) ou
3) Instale a Barra de ferramentas do Blog do Ale em seu navegador (Internet Explorer ou Firefox), que além de ser informado das últimas notícias automaticamente, você tem acesso a outras funcionalidades, como o sintonizador de rádio, experimente !




10-04-2008 @ 12:42 pm
Olá Alexandro, muito boas suas expliacações, com elas ficou bem mais fácil de compreender o Smarty!