Ви також можете скористатися вбудованою системою службових параметрів, яка дозволяє ізолювати або повторно використовувати значення:
# app/config/parameters.yml
parameters:
ga_tracking: UA-xxxxx-x
# app/config/config.yml
twig:
globals:
ga_tracking: "%ga_tracking%"
Тепер змінна ga_tracking доступна у всіх шаблонах Twig:
<p>The google tracking code is: {{ ga_tracking }}</p>
Параметр також доступний всередині контролерів:
$this->container->getParameter('ga_tracking');
Ви також можете визначити послугу як глобальну змінну Twig (Symfony2.2 +):
# app/config/config.yml
twig:
# ...
globals:
user_management: "@acme_user.user_management"
http://symfony.com/doc/current/templating/global_variables.html
Якщо глобальна змінна, яку ви хочете встановити, є більш складною - скажімо, об'єктом - тоді ви не зможете скористатися вищевказаним методом. Натомість вам потрібно створити розширення Twig та повернути глобальну змінну як одну із записів методу getGlobals.