我想在PHP和TWIG中在Symfony2视图中设置会话值。我可以像这样获取会话值
$ APP->的getSession() - >获得('无论&#39);
但是我不知道如何在视图中设置会话值。请帮助。
答案 0 :(得分:2)
这是您的twig扩展,您可以将此代码放在YourBundle/Twig/SessionExtension.php
namespace YourBundle\Twig;
use Symfony\Component\HttpFoundation\Session\Session;
class SessionExtension extends \Twig_Extension
{
private $session;
public function __construct(Session $session) {
$this->session = $session;
}
public function getFilters()
{
return array(
new \Twig_SimpleFilter('setSession', array($this, 'setSession')),
);
}
public function setSession($key, $val){
$this->session->set($key, $val);
return true;
}
public function getName()
{
return 'session_extension';
}
}
为树枝添加服务;
yourbundle.twig.session_extension:
class: YourBundle\Twig\SessionExtension
arguments:
session: "@session"
tags:
- { name: twig.extension }
现在,你可以在树枝上使用;
{{ 'test'|setSession('myKey', 'myValue') }}