Vous pouvez également tirer parti du système intégré de paramètres de service, qui vous permet d'isoler ou de réutiliser la valeur :
# app/config/parameters.yml
parameters:
ga_tracking: UA-xxxxx-x
# app/config/config.yml
twig:
globals:
ga_tracking: "%ga_tracking%"
Maintenant, la variable ga_tracking est disponible dans tous les modèles Twig :
<p>The google tracking code is: {{ ga_tracking }}</p>
Le paramètre est également disponible à l'intérieur des contrôleurs :
$this->container->getParameter('ga_tracking');
Vous pouvez également définir un service comme une variable globale Twig (Symfony2.2+) :
# app/config/config.yml
twig:
# ...
globals:
user_management: "@acme_user.user_management"
http://symfony.com/doc/current/templating/global_variables.html
Si la variable globale que vous voulez définir est plus compliquée, par exemple un objet, vous ne pourrez pas utiliser la méthode ci-dessus. À la place, vous devrez créer une extension Twig et renvoie la variable globale comme l'une des entrées de la méthode getGlobals.