9

我在搜索有关在 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) 时,它仍然显示为空。
是的,我的浏览器启用了 cookie。

4

1 回答 1

17

Here is my solution which I'm currently using.

$cookie = new SetCookie('key', 'value', time() + 365 * 60 * 60 * 24); // now + 1 year
$headers = $this->getResponse()->getHeaders();
$headers->addHeader($cookie);
于 2013-07-23T10:26:26.847 回答