2013-07-23 87 views
7

我發現此主題Zend Framework 2 - Cookie Concept當我搜索有關在ZF2中設置Cookie的信息時,但似乎包含在該主題中的信息已過期。
我曾嘗試下面的代碼:Zf2 - 如何設置Cookie

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。

回答

16

這是我目前使用的解決方案。

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

謝謝,它的工作原理! – user1409508

+0

我們如何覆蓋這個cookie,我們如何刪除它,我搜索但找不到有用的東西 –