A biblioteca de templates Smarty para o PHP é algo que os desenvolvedores, eu inclusive, sempre encararam como a solução perfeita para a separação da lógica de apresentação da lógica do seu sistema.
Simples de usar, bastava instanciar a classe, passar valores para ela e mandar exibir.
Acreditávamos que os designers achariam ótimo não precisar usar <?=$var?>, afinal de contas, {$var} é muito mais simples.
Mas você já parou pra pensar se isso faz tanta diferença assim? Em um projeto que estou desenvolvendo com outro programador e um designer, uma das primeiras coisas que fiz no Zend Framework foi alterar a camada de visualização pra trabalhar com o Smarty, ao invés do seu sistema de templates padrão, que usa arquivos .phtml com PHP. Depois de um tempo, percebi que estávamos perdendo algumas funcionalidades do ZF, em troca apenas de “facilidade” pro designer na hora de trabalhar com os templates. E por fim acabamos concluindo que essa “facilidade” não existe.
Fazer o designer trabalhar com uma sintaxe de linguagem diferente do PHP, daria tanto trabalho quanto trabalhar com a sintaxe do PHP, e pode até dificultar caso ele precise utilizar alguma função ou uma lógica um pouco mais complexa.
Sendo assim, então por que eu continuaria trabalhando com Smarty? Não encontrei argumentos a favor do uso da biblioteca, e tive discussões sobre o assunto na lista php-brasilia e no MSN com alguns desenvolvedores. Ninguém conseguiu levantar argumentos para continuar trabalhando com Smarty.
Você deve continuar separando sua aplicação em camadas, mas o uso de bibliotecas de Template como o Smarty é absolutamente descartável.
Compartilhe!