DesafioDoCodigo / desafio-do-codigo

Repositório oficial da plataforma do Desafio do Código, mantido por colaboradores
http://www.desafiodocodigo.com.br
14 stars 6 forks source link

Definir renderização de view #16

Closed TiagoGouvea closed 6 years ago

TiagoGouvea commented 6 years ago

O que deseja criar

Resultado esperado

Definir quais ferramentas e padrões usarmos para a renderização de HTML, de forma a ficar separado das regras de negócios mais complexas, facilitando a manutenção.

Como isso é hoje?

Hoje cada arquivo vai "dando echo" do HTML, ou é basicamente um arquivo HTML com blocos de PHP no meio dele.

Detalhe o que deve ser feito o máximo que puder

Gostaria de discutir qual biblioteca podemos usar, que seja simples, de código limpo e fácil de aprender. Veja a discussão semelhante em #15. Como você acha que poderia ser? O que já usou e que gostou? Como podemos fazer? Diz ai!

mathmarques commented 6 years ago

Eu utilizo bastante o Smarty, a syntax é bem simples e permite extender templates, além de ser rápido no que faz. Mas o Twig é uma ótima opção também, e acredito que um dos mais utilizados hoje em dia. Acredito que os dois sejam uma ótima opção e não consigo achar um caso de uso em que um seja bom e o outro não.

TiagoGouvea commented 6 years ago

@mathmarques usei MUITO o smarty já. Na epoca até encontrei uns bugs e reportei. Isso foi em 2008. Já usei o Twig também.

Dentre os dois, simpatizo mais com o Twig, porque me parece que o código dele é mais enxuto e atual.

Achei agora aqui este comparativo que de alguma forma também disso isso.

Outra vantagem é que o twig não exige tanta implementação pra funcionar, então mantem o código bem limpo né.. tanto "de quem chama", quanto na view mesmo.

mathmarques commented 6 years ago

@TiagoGouvea De fato o Twig é mais atual e possui um código mais legível. Concordo que é uma boa escolha!

TiagoGouvea commented 6 years ago

O @mathmarques implementou o Twig no código novo agora a pouco. Vamos seguir então desta maneira, com Twig. Grato a todos pela colaboração!