我想在PHP和TWIG中的Symfony2視圖中設置會話值。我可以像這樣獲得會話價值在symfony2視圖中設置會話值
$ app-> getSession() - > get('whatever');
但不知道如何設置視圖中的會話值。請幫助任何人。
我想在PHP和TWIG中的Symfony2視圖中設置會話值。我可以像這樣獲得會話價值在symfony2視圖中設置會話值
$ app-> getSession() - > get('whatever');
但不知道如何設置視圖中的會話值。請幫助任何人。
這是你的樹枝延伸,你可以把這個代碼下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') }}
我想要設置會話不會得到小節的會話 – Moeezalikhan
您可以創建一個小枝擴展,並使用服務容器將@session發送到此擴展。您可以像這樣設置新的會話密鑰和值。 –
我改變了我的答案,因爲你想要的。 –
@TomaszMadeyski我想在樹枝中設置會話值,PHP不能訪問或獲取它。所以它與你的不一樣。 – Moeezalikhan