2014-01-13 67 views
1

我有symfony2會話屬性包的問題。Symfony2屬性包

問題是個屬性袋isn`t洽和設置後的下一個請求的一些屬性他們回到默認。

我定義會話作爲這樣一個服務:

CART_SESSION: 
    class: Symfony\Component\HttpFoundation\Session\Session 
    arguments: 
     - @session.storage 
     - @cart.session.attribute_bag 
     - @session.flash_bag 
cart.session.attribute_bag: 
    class: Backend\Builders\PageBundle\Entity\Cart 

後端\建設者\ PageBundle \實體\車是實現\的Symfony \分量\ HttpFoundation \會議\屬性一個對象\ AttributeBagInterface。

在我的代碼我做到以下幾點:

$this->session->getBag('Cart')->set('name', 'Georgi'); 

,並將它設置得當,但在接下來的請求時,我獲取屬性「名」我得到它爲空。

如果您需要更多信息,請諮詢。

謝謝你的時間。

回答

0

注意你如何使用get方法從閃存袋。 get方法也從包中移除元素。

一些示例:

$session->getFlashBag()->set('foo', 'bar'); 
if ($session->getFlashBag()->get('foo)) { // it returns array with value you've set 
    $bar = $session->getFlashBag()->get('foo'); // it returns null because you already get the data above 
} 

所以,請確保您不使用get方法之前,你真的需要它(例如用於檢查參數的存在)。

+0

好的,有沒有一種方法可以在不使用flashdata的情況下在symfony2會話中使用命名空間? – gprusiiski

+0

對不起,你能重新解釋一下這個問題嗎?林不知道如果我得到它。 – Cyprian

+0

這裏是我想要做更詳細的解釋,並在那裏是我的問題: http://stackoverflow.com/questions/21091999/symfony-2-session-namespace – gprusiiski