Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

Por que eu uso Smarty: o PHP é uma linguagem feia de templates

Recommended Posts

Houve um debate aqui sobre a utilidade do Smarty como uma ferramenta de desenvolvimento.Foi desencadeada (mais uma vez) pelo lançamento (ou pelo menos pela nova percepção)do nosmarty.net. Eu comentei:

Não entendo como ZF ouSymfony ou qualquer framework possa ser uma ?alternativa? para o Smarty. Smartynão é um framework - é simplesmente um mecanismo de template. Ele não deveriaser usado para outra coisa a não ser para o componente da camada de visualização dasua aplicação MVC. Como qualquer outro software, ele tem uma curva deaprendizado e uma certa quantidade de peculiaridades. Usar o Smarty não garanteum bom design - isso ainda precisa ser gerenciado por programadores que tenhammais experiência do que escrever um programa "Hello, world!" e ler umtutorial. Acredito que esse fato tem estado por aí desde2011, e ainda é usado como uma prova para sua utilidade dentro dacomunidade. Se o Smarty for utilizado da maneira correta, não vejo por que elenão possa ter seu lugar dentro do arsenal de ferramentas que os desenvolvedoresutilizam.

Ele foi combatido por Paul M.Jones com:

Na minha opinião, nãoexiste uma maneira correta de utilizar o Smarty. Ele é a solução para umproblema mal indicado. Penso que deveríamos ter que elaborar mais sobre isso emoutro post, mais longo. Ah, mas eu já fiz isso!

Eu compreendo esse argumento, no entanto,eu ainda tenho uma razão para usar o Smarty: o PHP é uma linguagem feia detemplates. Eu usei o Smarty e o Symfony (o qual conta com a sintaxealternativa do PHPpara templates) e ainda prefiro o Smarty.

Os exemplos no nosmarty.net geralmentemostram uma instância de ecoar uma variável. Nesse caso, é claro, eu consigover - por que usar um sistema de templates pesado que demora mais para analisare pode ser terrível para configurar e administrar. No entanto, se você estiverolhando para uma porção da página html que tem que dar saída par variáveismúltiplas, o Smarty é bem mais simples.

     SMARTY:

<td>Name</td><td>{$name}</td>

<td>Email</td><td>{$email}</td>

<td>Phone</td><td>{$phone}</td>

 

PHP:

<td>Name</td><td><?php echo $name; ?></td>

<td>Email</td><td><?php echo $email; ?></td>

<td>Phone</td><td><?php echo $phone; ?></td>

Quando você começa a repetir <?php ??> em todo lugar, ele fica bastante redundante e, francamente, feio.

Talvez o meu uso do Smarty seja um poucoegoísta, mas, no final das contas, o estilo de programação e o conforto dependemda preferência pessoal. A maioria, não todas, das ferramentas de programaçãotem a habilidade de serem mal utilizadas. Eu ainda considero o Smarty umaferramenta útil no meu arsenal de programação. Apesar de eu não ter usado oSmarty há mais de 2 anos, usando somente templates PHP (principalmente devidoàs convenções de templates da Symfony), eu iria usá-lo novamente alegrementepara ganhar novamente templates legíveis. 

?

Texto original disponível em http://www.dotevan.com/2009/02/05/why-i-use-smarty-php-is-an-ugly-templating-language/

 

http://imasters.com.br/artigo/21693/php/por-que-eu-uso-smarty-o-php-e-uma-linguagem-feia-de-templates

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho imaturo ficar discutindo de forma prejorativa.

 

cada ferramenta tem sua utilidade dependendo do caso.

 

 

 

     SMARTY:
   <td>Name</td><td>{$name}</td>
   <td>Email</td><td>{$email}</td>
   <td>Phone</td><td>{$phone}</td>

   PHP:
   <td>Name</td><td><?php echo $name; ?></td>
   <td>Email</td><td><?php echo $email; ?></td>
   <td>Phone</td><td><?php echo $phone; ?></td>

 

Se é redundante escrever <?php echo, <?php echo,

então, escrever {$, {$, {$, é o quê ?

Afinal, o compilador do Smarty vai transformar o {$ num <?php echo, mas não há mágica. Há uma série de processamentos para compilar.

 

Criar processos desnecessários e redundantes em nome de um padrão estético de algo que ninguém vê. Afinal, o usuário não enxerga o código fonte, mas sim, a interface.

 

 

Geralmente o smarty é avaliado por pessoas que não entendem de programação e não tem a menor preocupação com performance. Apenas se preocupam com a parte "estética", sem prestar atenção na parte da engenharia do aplicativo.

De fato, é mais confortável programar num código "limpo", "esteticamente bonito", contudo, há limites.

Até que ponto o seu "conforto" é mais importante do que o consumo desnecessário de processos?

 

 

Basta ter bom senso e equilibrar os dois dados e, principalmente, as circunstâncias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitas das vezes, o Smarty é usado por designers que pegaram uma apostila básica qualquer e acham que são verdadeiros programadores, uma vez que a sintaxe de alguns blocos dele é mais sugestivo que as estruturas PHP correspondentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criar processos desnecessários e redundantes em nome de um padrão estético de algo que ninguém vê. Afinal, o usuário não enxerga o código fonte, mas sim, a interface.

 

 

Geralmente o smarty é avaliado por pessoas que não entendem de programação e não tem a menor preocupação com performance. Apenas se preocupam com a parte "estética", sem prestar atenção na parte da engenharia do aplicativo.

De fato, é mais confortável programar num código "limpo", "esteticamente bonito", contudo, há limites.

Até que ponto o seu "conforto" é mais importante do que o consumo desnecessário de processos?

 

 

Basta ter bom senso e equilibrar os dois dados e, principalmente, as circunstâncias.

 

:clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns hinom, disse tudo o que eu ia escrever, mas vou apenas fazer uma resalva, eu quando utilizo o padrão MVC, nas minhas views eu tenho apenas um <?php, o restante do código html ( a maioria uso helpers pré_definidos ), o resto uso:

 

  echo '<td>Nome: '.$nome.'</td>';

 

Procuro ao máximo evitar usar <?php ?> elementos html <?php ?> ... etc ....

 

Só pelo fato do Smarty ter que recompilar uma série de instruções dele para a forma do php já mostra a velocidade em questão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criar processos desnecessários e redundantes em nome de um padrão estético de algo que ninguém vê. Afinal, o usuário não enxerga o código fonte, mas sim, a interface.

 

 

Geralmente o smarty é avaliado por pessoas que não entendem de programação e não tem a menor preocupação com performance. Apenas se preocupam com a parte "estética", sem prestar atenção na parte da engenharia do aplicativo.

De fato, é mais confortável programar num código "limpo", "esteticamente bonito", contudo, há limites.

Até que ponto o seu "conforto" é mais importante do que o consumo desnecessário de processos?

 

 

Basta ter bom senso e equilibrar os dois dados e, principalmente, as circunstâncias.

 

:clap: :clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.