Zf2 - 如何设置cookie

时间:2013-07-23 09:34:58

标签: cookies zend-framework2

我在搜索有关在ZF2中设置Cookie的信息时找到了此主题Zend Framework 2 - Cookie Concept,但似乎该主题中包含的信息已过期。
我试过以下代码:

public function indexAction()
{
    $request = $this->getRequest()->getHeaders()->get('Set-Cookie')->foo = 'bar;
    $response = $this->getResponse()->getCookie()->baz = 'test';
    var_dump($_COOKIE);
    ...
    return new ViewModel();
}

两行输出警告:

Warning: Creating default object from empty value

我也试过了:

public function indexAction()
{
   $cookie = new SetCookie('test', 'value', 60*60*24); // Zend\Http\Header\SetCookie instance
   $header = new Cookie(); // Zend\Http\Cookies instance
   $header->addCookie($cookie);
    ...
    return new ViewModel();
}

它没有返回任何错误或警告,一切似乎都没问题,但是当我尝试var_dump($ _ COOKIE)时它仍然显示为null。
是的,我的浏览器启用了cookie。

1 个答案:

答案 0 :(得分:17)

这是我目前正在使用的解决方案。

$cookie = new SetCookie('key', 'value', time() + 365 * 60 * 60 * 24); // now + 1 year
$headers = $this->getResponse()->getHeaders();
$headers->addHeader($cookie);