簡體   English   中英

ZF2 setCookie 不起作用

[英]ZF2 setCookie not working

有一段時間我試圖弄清楚為什么通過 ZF2 設置 cookie 似乎如此困難? 可能不是,但我不知道為什么沒有設置 cookie。

代碼

use Zend\Http\Header\SetCookie;

    $response        = $this->getResponse()->getHeaders();
    $cookiesAccepted = new SetCookie('accepted_cookies', 1, strtotime('+1 Year', time()), '/');
    $cookieTest      = new SetCookie('test_key', 'test_value', strtotime('+1 Year', time()), '/');
    $response        ->addHeader($cookiesAccepted);
    $response        ->addHeader($cookieTest);

刷新頁面。

通過轉儲測試輸出

Debug::dump($_COOKIE);

不包含“accepted_cookies”或“test_key”cookie。

您在響應對象中設置 cookie 並且轉儲$_COOKIE不會立即為您提供添加到響應對象中的 cookie。

在 Zend Framework 2 中使用 cookie 時,無需直接與超級全局交互。 另請查看文檔以供參考

您可以在下一個請求對象中嘗試這樣:

$accepted_cookies = $this->getRequest()->getHeaders()->get('Cookie')->accepted_cookies;
$test_key = $this->getRequest()->getHeaders()->get('Cookie')->test_key;

另請查看此答案以獲取有關 cookie 管理的更多示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM