Licenciado sob a licença BSD, o Twig é um template engine para projetos PHP muito utilizado em todo o mundo. Basicamente, o Twig serve para incluir informações e códigos PHP em páginas HTML para facilitar a criação de templates em projetos.
Inspirado no Jinja2, o Twig é o template engine padrão do Symfony, um dos maiores frameworks PHP do mercado.
Curso Symfony - Template Engine Twig
Conhecer o cursoCaracterísticas
A principal funcionalidade de um template engine (e do twig) é permitir que linguagens de programação possam ser incorporadas em páginas HTML, facilitando, assim, todo o processo de criação dos templates. Com isso, permite que os programadores possam utilizar estruturas de condição, estruturas de repetição, herança e diversos outros recursos presentes apenas nas linguagens de programação em páginas HTML.
O Twig possui diversas características, sendo que as principais podemos ver abaixo:
- Permite o uso de estruturas de condição e repetição em páginas HTML;
- Possibilita utilizar herança em templates, garantindo maior reaproveitamento de código;
- Permite exibir o conteúdo de diferentes tipos de variáveis PHP em páginas HTML;
- Sistema de blocos de templates, dentre outros.
Como funciona o Twig
Basicamente, quando criamos um template com o Twig e incorporamos código PHP nas páginas HTML, ele se encarrega de compilar os templates para código PHP totalmente otimizado, que depois será convertido em código PHP, garantindo maior velocidade quando comparado ao código PHP puro.
Sendo assim, um código utilizando o Twig como podemos ver abaixo é convertido em um HTML:
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
<ul>
<li><a href="http://url_da_pagina/1"> João </a></li>
<li><a href="http://url_da_pagina/2"> Maria </a></li>
<li><a href="http://url_da_pagina/3"> José </a></li>
<li><a href="http://url_da_pagina/4"> Neuza </a></li>
<li><a href="http://url_da_pagina/5"> Geraldo </a></li>
</ul>
Vale lembrar que sua sintaxe é muito mais simples e intuitiva que o PHP puro. O mesmo código acima escrito em PHP seria da seguinte forma:
<ul>
<?php foreach($users as $user): ?>
<li><a href="{{ user.url }}"><?php echo $user['username'] ?></a></li>
<?php endfor; ?>
</ul>
Com isso, podemos notar o quão poderosa é essa ferramenta. Com ela podemos utilizar os principais recursos das linguagens de programação para a criação de páginas HTML.
Curso Symfony - Fundamentos
Conhecer o cursoQuem utiliza?
O Twig, como dito anteriormente, é o template engine de um dos principais frameworks PHP do mundo, o Symfony. Ele é incorporado ao Symfony por padrão, permitindo a criação de páginas HTML em conjunto com os recursos do PHP.
Além disso, pode ser incorporado a diversos outros frameworks, como o Laravel ou utilizando o PHP puro.
Conclusão
Como vimos neste artigo, o Twig é um ótimo template engine e que permite a criação de páginas HTML utilizando os principais recursos do PHP. Ele facilita a criação de páginas HTML em conjunto com código PHP utilizando uma sintaxe simples e intuitiva.