2011-12-08 16 views
16

He establecido algunas cookies en una acción de controlador y luego en otra acción deseo leer el conjunto de cookies y hacer algo con el valor. Sin embargo, cuando se trata de leer las cookies, todo lo que veo es una matriz vacía, mi código es el siguiente:Symfony2: Cookie de lectura

public function testSetCookieAction() 
{ 
    $value = 'ABCDEFGHI' 

    $cookie = new Cookie('SYMFONY2_TEST', $value, (time() + 3600 * 24 * 7), '/'); 
    $response = new Response(); 
    $response->headers->setCookie($cookie); 
    $response->send(); 
. 
. 
. 
} 

public function testReadCookieAction() 
{ 
    $response = new Response(); 
$cookies = $response->headers->getCookies(); 

// $cookies = array(0) { } 
} 

Cuando i var_dump($_COOKIE);, veo array(1) { ["SYMFONY2_TEST"]=> string(9) "ABCDEFGHI" } ¿Alguien sabe lo que estoy haciendo mal?

Gracias de antemano

Respuesta

44

Debe leer cookies en la solicitud objeto, no en el objeto nula respuesta que acaba de crear;)

public function testReadCookieAction(Request $request) 
{ 
    $cookies = $request->cookies; 

    if ($cookies->has('SYMFONY2_TEST')) 
    { 
     var_dump($cookies->get('SYMFONY2_TEST')); 
    } 
}