
Já trabalho com essa ferramenta há quase 2 anos e, inicialmente, não gostei muito. Na verdade até pouco tempo eu utilizava muito contragosto, parando inclusive de utilizar em alguns projetos… Com o passar do tempo, pude perceber que o Smarty se tornou um grande aliado… Mas afinal, o que é o Smarty?
“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.“
Ou seja, chega de briga entre Designers e Programadores! Podemos trabalhar ao mesmo tempo, no mesmo projeto sem sair no tapa… Para profissionais freelancer e para empresas, preocupadas com a qualidade/tempo, o Smarty caiu como uma luva. Seguindo o conceito de MVC (digo seguindo o conceito pois, ao pé da letra, o Smarty utiliza apenas duas camadas), fica muito simples efetuar a separação da lógica do negócio e da lógica da apresentação e assim não permitindo lixo nos códigos HML e reduzindo a quantidade de “gambiarras” aplicadas nele. Sem contar que com essa separação de camadas a possibilidade de erro reduz e o “debuging” é facilitado.
Algumas das características do Smarty:
• Ele é extremamente rápido.
• Ele é eficiente visto que o interpretador do PHP faz o trabalho mais pesado.
• Sem elevadas interpretações de template, apenas compila uma vez.
• Ele está atento para só recompilar os arquivos de template que foram mudados.
• Você pode fazer funções próprias e seus próprios modificadores de variáveis, assim a linguagem de templates é extremamente extensível.
• Delimitadores de tag configuráveis, sendo assim você pode usar {}, {{}}, <!–{}–>, etc.
• Os construtores if/elseif/else/endif são passados para o interpretador de PHP, assim a sintaxe de expressão {if …} pode ser tanto simples quanto complexa da forma que você queira.
• Aninhamento ilimitado de sections, ifs, etc. permitidos.
• É possível embutir o código PHP diretamente em seus arquivos de template, apesar de que isto pode
não ser necessário (não recomendado) visto que a ferramenta é tão customizável.
• Suporte de caching embutido.
• Fontes de template arbitrários.
• Funções de manipulação de cache customizadas.
• Arquitetura de Plugin.
Este post foi apenas para apresentar a ferramenta e explicar para que “raios” isso serve. Assim que o tempo permitir, criarei um post mostrando como é simples instalar e utilizar o Smarty em suas aplicações! Enquanto isso, saiba mais em www.smarty.net
Até lá!