Silex Twig app.request全球无效

时间:2014-01-15 17:15:17

标签: symfony twig silex

我目前正与Silex和Twig合作,我遇到的问题是

{{ app.request }}

电话不会返回任何内容。

这是我的树枝配置

'twig' => $application->share($application->extend('twig', function (Twig_Environment $twig, Application $application) {
    $loader = new Twig_Loader_Filesystem(__DIR__ . '/../../src/quest/view');
    $twig = new Twig_Environment($loader);
    $host = $application['request']->getSchemeAndHttpHost();
    $path = $application['request']->getPathInfo();

    $twig->addGlobal('RESOURCE', '/web/res');
    $twig->addGlobal('HOST', $host);
    $twig->addGlobal('PATH', $path);

    return $twig;
}))

我的变量名为'application'而不是'app',但我也尝试了

{{ app.request.host }}
{{ application.request.host }}

并且他们都没有工作。

2 个答案:

答案 0 :(得分:1)

我看到你完全覆盖$app["twig"]而不是使用TwigServiceProvider创建的那个。请注意,它会在app实例上注册您需要自己执行的Twig_Environment全局(link)。

答案 1 :(得分:0)

使用渲染其他控制器时可能会发生这种情况。