无法在symfony3中的树枝中打印会话变量

时间:2016-07-20 13:33:41

标签: twig symfony

我正在尝试访问控制器中设置的树枝中的会话变量。由于某些原因,它不适用于树枝。我检查了在另一个控制器中打印的会话变量,该控制器给出了预期的结果,但变量在模板中显示为空。我不知道我是否在配置中遗漏了什么。

//Below is my code in controller

$session = $request->getSession();
$session->set('user', [
    'id' => $user->getId(), 
    'firstName' => $user->getfirstname()
]);

// code in twig
{{ dump(app.session) }}

2 个答案:

答案 0 :(得分:1)

不,不要假设会话变量是全局的。

我已经完成了这个,你需要在渲染你的Twig时传递数组。像这样:

return $this->render('my_twig_file.html.twig', array(
        'user' => $session->get('user'),
));

然后在Twig转储它:

{{ dump(user) }}

另外,请确保在PROD环境中不使用dump。您可能希望在完成测试后注释转储,或使用其他文件。

答案 1 :(得分:0)

我找到了自己的解决方案。我使用自定义twig扩展来访问全局变量,如会话,没有任何问题。只需找到下面的代码。

http://symfony.com/doc/current/cookbook/templating/twig_extension.html