Olá pessoal tudo certo?!
Quem nunca se deparou com um projeto no qual teria que trabalhar com renderização HTML? Praticamente todos em algum momento certo? Pois é inevitável a construção de um sistema web PHP sem a interação com o usuário, e com isso surge o grande problema: Como vamos trabalhar as páginas HTML e como podemos utilizar o conceito de template para que nosso sistema fique robusto e com um super visual.
O PHP dispõe de grandes ferramentas para solucionar esse problema, e auxiliar na construção de templates e views para nossos sistemas, e hoje veremos o Twig onde de acordo com a home do site diz:
The flexible, fast, and secure template engine for PHP” (Tradução: flexível, rápido e seguro motor de template para PHP)
Twig é uma ferramenta mantida pela Sensiolabs, empresa por de traz de nada menos que o Symfony. Um dos frameworks mais fantásticos para PHP.
Para que possamos utilizar o componente, primeiros vamos definir nosso projeto, onde ele terá a seguinte estrutura:
- tutorial_twig
- view
- layout.html
- index.html
- bootstrap.php
- index.php
- view
Após temos criado nossa estrutura básica para darmos início ao projeto, devemos acessar pelo terminal a raiz do nosso projeto. Caso você não tenha familiaridade em utilizar o terminal, incentivo que aprenda a utilizar, pois é uma das ferramentas que mais utilizamos em nosso dia a dia, e que facilita e muito nosso trabalho. Ao acessarmos o diretório raiz do projeto devemos instalar o Twig, e para isso iremos utilizar o Composer e caso você não faça a menor ideia do que seja, por favor, pare e estude esta ferramenta, pois ela é a 8ª maravilha do mundo PHP, com o Composer podemos gerenciar as dependências do nosso projeto com uma facilidade descomunal!
Devemos executar o seguinte comando:
|
|
Todo o processo de instalação dos pacotes serão realizados de forma automática em nosso projeto.
Após a finalização da instalação nossa estrutura de projeto ficará assim:
- tutorial_twig
- vendor
- view
- layout.html
- index.html
- composer.json
- composer.lock
- bootstrap.php
- index.php
Agora vamos acessar nosso arquivo bootstrap.php, ele será utilizado para podermos concentrar as estrutura básicas que será compartilhada com nossas páginas.
|
|
Com nossa implementação básicas do Twig, agora podemos construir nossa view, vamos acessar nosso arquivo index.php.
|
|
Virão como é extremamente fácil, após criarmos nossa configuração básica podemos acessar nosso objeto e chamar o método render, responsável por realizar todo o processo de renderização, e tivemos apenas o trabalho de informa dois valores, sendo eles:
index.html
- Informamos qual arquivo HTML desejamos utilizar.
Array
- Criamos um array chave/valor, onde a chave usaremos em nosso arquivo HTML para indicar qual conteúdo estamos querendo utilizar e onde em nosso arquivo index.html e o valor do array é a informação que será inserida no HTML.l>
Bom, tendo nossos arquivos php implementados daremos início agora a construção do nosso layout, abra o arquivo layout.html.
|
|
Basicamente sua estrutura é HTML puro, sem muitos segredos e o que temos de novo e fora do habitual são as duas linhas de código “{% block content %}” e “{% endblock %}”. O Twig dispõe de um leque de ferramentas para manipular o conteúdo HTML fantásticos, e com essas duas instruções definimos um bloco, e tudo que for inserido dentro desse bloco nas outras páginas como, por exemplo, na index irá ser renderizado dentro deste bloco no layout, isso não é fantástico pois com um único arquivo podemos controlar todo nosso layout da nossa aplicação.
Podemos agora abrir nosso arquivo index.html e implementar o seguinte código:
|
|
Como podemos visualizar, não utilizamos uma linha de HTML se quer, apenas instruções Twig. Pois definimos o template, o bloco de conteúdo e o conteúdo em si.
Agora podemos executar nosso teste, basta executar o comando abaixo e em um navegador inserir a URL localhost:8080
|
|
E como resultado temos nosso Hello World 🙂
Viram como é simples, com poucos códigos temos uma camada para tratar nossa view!
Bom vocês podem estar pensando “mas isso é muito básico”, bem vamos imaginar que agora queremos uma view de estoque para renderizar uma lista de produtos no grid.
Vamos criar nosso arquivo products.php
|
|
Agora devemos criar nosso arquivo products.html
|
|
Após executar o projeto, teremos o seguinte resultado.
/wp-content/uploads/2016/10/grid_produtos.pngExtremamente simples, com poucas linhas de código podemos montar nossa lista de produtos. Da mesma maneira que passamos um array, podemos fazer uma consulta no banco de dados e exibir com paginador os registros em nosso grid, logicamente o exemplo acima é simples apenas para demonstrar o uso do Twig.
O Twig não dispõe apenas de filtros, mas também com tags, functions, operadores e testes, recomendo fortemente que leia a documentação do Twig, pois ela é rica em exemplos deixando muito claro sua forma de uso.
Bom pessoal, espero que tenham gostado do post, o PHP dispõe de outras engines templates como por exemplo dwoo, Plates, smarty e Blade. Recomendo que caso você desconheça esses nomes de uma olhada, eu particularmente prefiro o Twig, porem é sempre excelente conhecermos outras ferramentas para podermos utilizar a melhor para cada problema encontrado.
Um grande abraço e até a próxima! 🙂