Symfony2:读取Cookie

Mat*_*att 18 php cookies symfony

我在Controller动作中设置了一些cookie,然后在另一个动作中我想要读取cookie集并对值进行一些操作.但是,在尝试读取cookie时,我看到的只是一个空数组,我的代码如下:

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) { } 
}
Run Code Online (Sandbox Code Playgroud)

当我var_dump($_COOKIE);,我看到array(1) { ["SYMFONY2_TEST"]=> string(9) "ABCDEFGHI" } 有人知道我做错了什么吗?

提前致谢

Alt*_*PHP 53

您必须在Request对象上读取cookie,而不是在刚创建的void Response对象上读取;)

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

    if ($cookies->has('SYMFONY2_TEST'))
    {
        var_dump($cookies->get('SYMFONY2_TEST'));
    }
}
Run Code Online (Sandbox Code Playgroud)