Introdução

Twig é uma linguagem de templates poderosa e flexível, amplamente utilizada em projetos web. Para utilizá-la de forma eficiente, é essencial entender os conceitos básicos de:

  • Operações
  • Valores booleanos
  • Tipos de dados
  • Tratamento de espaços em branco

Este guia apresenta os fundamentos necessários para criar templates eficientes e livres de erros.


Operações no Twig

Twig permite realizar diversas operações diretamente nos templates. Abaixo estão os principais tipos de operações:

Operações Matemáticas

Realize cálculos com operadores como +, -, *, /, %.

{{ 10 + 5 }} {# Saída: 15 #}
{{ 20 % 3 }} {# Saída: 2 (resto da divisão) #}

Operações de Comparação

Compare valores com operadores como ==, !=, <, <=, >, >=.

{{ 5 > 3 }} {# Saída: true #}
{{ 'a' == 'b' }} {# Saída: false #}

Operações Lógicas

Combine ou inverta condições com and, or, not.

{{ true and false }} {# Saída: false #}
{{ not false }} {# Saída: true #}

Essas operações são úteis em condições e loops para manipular a exibição de conteúdo.


Valores Booleanos

Twig avalia valores como true ou false dependendo do contexto.

Valores Falsos

  • false
  • null
  • Inteiros iguais a 0
  • Strings vazias: ""
  • Arrays vazios: []

Valores Verdadeiros

Qualquer valor que não seja avaliado como falso.

{% if variable %}
  Esta variável é verdadeira.
{% else %}
  Esta variável é falsa.
{% endif %}

Tipos de Dados no Twig

Twig suporta diversos tipos de dados básicos:

Números

Incluem inteiros e decimais.

{{ 10 }} {# Inteiro #}
{{ 3.14 }} {# Decimal #}

Strings

Sequências de caracteres delimitadas por aspas simples (') ou duplas (").

{{ "Olá, mundo!" }}
{{ 'Twig é incrível!' }}

Concatenar strings:

{{ "Olá, " ~ nome }} {# Resultado: "Olá, João" se nome = "João" #}

Booleanos

Representam valores lógicos: true ou false.

{% if ativo %}
  A funcionalidade está ativa.
{% else %}
  A funcionalidade está inativa.
{% endif %}

Arrays

Armazenam múltiplos valores.

{% set frutas = ['maçã', 'banana', 'laranja'] %}
{{ frutas[0] }} {# Resultado: 'maçã' #}

Tags Nativas do Twig

TagDescriçãoExemplo
ifCria condições.{% if ativo %}Ativo{% endif %}
forItera sobre coleções.{% for item in lista %}{{ item }}{% endfor %}
setDefine variáveis.{% set nome = 'João' %}
blockDefine blocos sobrescrevíveis.{% block conteudo %}{% endblock %}
extendsHerda outro template.{% extends 'base.html' %}
includeInclui outro template.{% include 'header.html' %}
filterAplica filtros a blocos de conteúdo.{% filter upper %}texto{% endfilter %}
macroDefine funções reutilizáveis.{% macro exemplo(param) %}{% endmacro %}
importImporta macros de outro template.{% import 'macros.html' as utils %}
rawIgnora o processamento do conteúdo.{% raw %}{{ variavel }}{% endraw %}

Recomendações

Para mais detalhes, consulte a documentação oficial do Twig. Compreender os fundamentos de operações, tipos de dados e valores booleanos garantirá o uso eficiente do Twig em seus projetos.