Documentação do Symfony - versão 3.4
Renderizada do repositório symfony-docs-pt-BR no Github

Utilizando variáveis em todas templates (Variáveis globais)

Algumas vezes você quer que uma variável esteja disponível em todas as templates que utiliza. Isto é possível configurando o twig dentro do arquivo app/config/config.yml :

1
2
3
4
5
# app/config/config.yml
twig:
    # ...
    globals:
        ga_tracking: UA-xxxxx-x

Agora a variável ga_tracking está disponível em todas templates Twig e pode ser acessada da seguinte forma.

1
<p>Our google tracking code is: {{ ga_tracking }} </p>

É fácil! Você também pode utilizar do sistema de parâmetros (Parâmetros do Serviço), que permite você isolar e reutilizar o valor como a seguir.

1
2
3
; app/config/parameters.yml
[parameters]
    ga_tracking: UA-xxxxx-x
1
2
3
4
# app/config/config.yml
twig:
    globals:
        ga_tracking: %ga_tracking%

A mesma variável está disponível exatamente como antes.

Variáveis globais mais complexas

Se a variável global que deseja definir é mais complexa, como um objeto por exemplo, então você não poderá utilizar o método acima. Ao invés disso, precisa criar uma extensão Twig (Twig Extension) e retornar a variável global como uma das entradas no método getGlobals.