我在搜索有关在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。
答案 0 :(得分:17)
这是我目前正在使用的解决方案。
$cookie = new SetCookie('key', 'value', time() + 365 * 60 * 60 * 24); // now + 1 year
$headers = $this->getResponse()->getHeaders();
$headers->addHeader($cookie);