如何使用 Zend Framework 3 添加 cookie?
How add cookie using Zend Framework 3?
我需要使用 Zend Framework 3 向浏览器发送一个 cookie。
我的代码如下,但它不起作用:
$cookie = new Zend\Http\Header\SetCookie('CookieKey', $val, $time, '/', '');
$response->getHeaders()->addHeader($cookie);
如何正确使用 cookie?
您正在将 cookie 路径设置为 '/'
并在创建新的 SetCookie
实例时使用空域 ''
。将空字符串作为域传递可能会导致问题。
第二个细节是您需要将未来的时间作为第三个 (expires
) 参数传递。你确定你给的是未来的时间吗?
看看下面的例子,它在我的 ZF3 应用程序上设置了一个 cookie,没有任何问题:
namespace MyApp\Action;
use Zend\Http\Header\SetCookie;
public function indexAction()
{
$cookie = new SetCookie('bar', 'baz', time()+7200);
$this->getResponse()->getHeaders()->addHeader($cookie);
return new ViewModel();
}
我需要使用 Zend Framework 3 向浏览器发送一个 cookie。
我的代码如下,但它不起作用:
$cookie = new Zend\Http\Header\SetCookie('CookieKey', $val, $time, '/', '');
$response->getHeaders()->addHeader($cookie);
如何正确使用 cookie?
您正在将 cookie 路径设置为 '/'
并在创建新的 SetCookie
实例时使用空域 ''
。将空字符串作为域传递可能会导致问题。
第二个细节是您需要将未来的时间作为第三个 (expires
) 参数传递。你确定你给的是未来的时间吗?
看看下面的例子,它在我的 ZF3 应用程序上设置了一个 cookie,没有任何问题:
namespace MyApp\Action;
use Zend\Http\Header\SetCookie;
public function indexAction()
{
$cookie = new SetCookie('bar', 'baz', time()+7200);
$this->getResponse()->getHeaders()->addHeader($cookie);
return new ViewModel();
}