是Symfony2控制器内可用的Twig模板的全局变量吗?

Jea*_*ean 6 global-variables symfony twig

全局变量用于嫩枝模板可以在内部被定义config.yml一个的Symfony2的应用如下面的:

twig:                 
    globals:
      var_name: var_value
Run Code Online (Sandbox Code Playgroud)

因此,在每个Twig模板中,变量可以如下使用:

{{var_name}}
Run Code Online (Sandbox Code Playgroud)

将显示

var_value
Run Code Online (Sandbox Code Playgroud)

您是否知道在Symfony2控制器中获取全局变量值的方法?

MDr*_*tte 23

似乎没有办法获取特定值.但是你可以从twig服务中获取完整的全局变量数组,然后获取它的偏移量.

$twig = $this->container->get('twig');
$globals = $twig->getGlobals();
echo $globals['var_name'];
Run Code Online (Sandbox Code Playgroud)

  • 在 symfony 4.4 中,执行此操作时会收到警告:“方法‘getGlobals’被标记为@internal” (2认同)