Zf2 - 如何设置cookie

use*_*508 9 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();
}
Run Code Online (Sandbox Code Playgroud)

两行输出警告:

Warning: Creating default object from empty value
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

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

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

Adr*_*cki 17

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

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