Twig

O que é twig?

Squadra
em

Twig é um moderno mecanismo para criação de templates em PHP. A sua vantagem, é que ele processa o código PHP de forma otimizada, reduzindo o seu tempo de processamento, além de ser seguro e flexível, podendo criar suas próprias tags, filtros e DSL.

Twig é utilizado por diversos projetos Open-Source, como: Symfony, Drupal 8, eZPublish, phpBB, Piwik, OroCRM. E muitos frameworks lhe dão suporte, como: Slim, Yii, Laravel, Codeignite, Kohana, etc.

Para saber mais sobre o Twig, consulte a sua página oficial.

Twig possui uma sintaxe simples e de fácil aprendizado.

Para imprimir algo,  utilizamos:


{{ Imprime algo }}

Para fazer alguma lógica:


{% Faça alguma lógica aqui! %}

Para escrever um comentário:


{# Comentário #}

Vamos a alguns exemplos práticos:

IF

Para verificar se uma expressão é verdadeira:


{% if online == false %}
    <p>Our website is in maintenance mode. Please, come back later.</p>
{% endif %}

Para verificar se um array não é vazio:


{% if users %}
    <ul>
        {% for user in users %}
            <li>{{ user.username|e }}</li>
        {% endfor %}
    </ul>
{% endif %}

Utilizando "not" para verificar se o valor é falso:


{% if not user.subscribed %}
    <p>You are not subscribed to our mailing list.</p>
{% endif %}

Para múltiplas condições você pode utilizar "and" ou "or":


{% if temperature > 18 and temperature < 27 %}
    <p>It's a nice day...</p>
{% endif %}

Múltiplos ramos:


{% if kenny.sick %}
    Kenny is sick.
{% elseif kenny.dead %}
    You killed Kenny!
{% else %}
    Kenny looks okay.
{% endif %}

Vaja aqui a documentação completa do if.

FOR

Loop para exibir os itens em sequência:


<ul>
    {% for user in users %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
</ul>

Para uma sequência de números ou letras, você pode utilizar o operador "..":


{% for i in 0..10 %}
    * {{ i }}
{% endfor %}


{% for letter in 'a'..'z' %}
    * {{ letter }}
{% endfor %}

Adicionando uma condição:


<ul>
    {% for user in users if user.active %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
</ul>

Veja aqui a documentação completa do for.

DATE

Exemplos de formatações:


{{ post.published_at|date("m/d/Y") }}


{{ "now"|date("m/d/Y") }}


{{ post.published_at|date("m/d/Y", "Europe/Paris") }}

Veja aqui a documentação completa das formatações para date.

Exemplos de funções:


{% if date(user.created_at) < date('-2days') %}
    {# do something #}
{% endif %} 


{% if date(user.created_at) < date('-2days', 'Europe/Paris') %}
    {# do something #}
{% endif %}

Veja aqui a documentação completa das funções para date.

Como vimos nos exemplos acima, a sintaxe do Twig é mais simples comparada ao PHP, tornando seu aprendizado mais rápido e fácil.

Não deixe de conferir a sua documentação completa.

Até o próximo tutorial!

Publicado originalmente em : http://www.drupalbrasil.com.br/o-que-e-twig


Serviços relacionados

Nós ajudamos você a liderar iniciativas de transformação digital na sua empresa.
Agende uma conversa