2014-01-13 1 views
1

symfony2 세션 속성 가방에 문제가 있습니다.Symfony2 속성 백

문제는 th 속성 백이 일관성이 없으며 설정 후에 다음 요청에서 일부 속성이 기본값으로 되돌아갑니다.

내가 이런 서비스로 세션을 정의

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 \ 엔티티 \ 장바구니가 세션 \ 속성 \ \ 심포니 \ 구성 요소 \ HttpFoundation를 구현하는 객체입니다 \ AttributeBagInterface.

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

을하고 난 재산 "이름"내가 널 (null)로 얻을를 검색 할 때 그것은하지만 다음 요청에 제대로 설정 : 내 코드에서

난 다음을 수행합니다.

자세한 정보가 필요하면 질문하십시오.

시간 내 주셔서 감사합니다.

답변

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