2016-09-21 20 views
1

なぜ私はZF2を通してクッキーを設定するのが大変なようですか?おそらくそうではありませんが、なぜクッキーが設定されていないのかわかりません。ページを更新ZF2 setCookieが動作しない

コード

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' クッキーを含んでいません。

+2

[set cookie in zend framework]の複製があります。(0120-18752-1) – WillardSolutions

+0

@EatPeanutButterこのリンクはzend framework 1に関する質問ではありませんzend framework 2 – Wilt

+0

それは本当にZF2です – directory

答えて

1

レスポンスオブジェクトにCookieを設定してダンプすると、$_COOKIEはレスポンスオブジェクトに追加したCookieをすぐには取得できません。

Zend Framework 2でクッキーを使用する場合、スーパーグローバルと直接対話する必要はありません。 the documentation for referenceも確認してください。

あなたはあなたの次の要求オブジェクトに、次のように試みることができる:クッキー管理の詳細例についてもthis answer

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

チェック。

+0

私は何度もリフレッシュして、異なるページでクッキーを吐き出して結果を確認しようとしました。誰もいなかった – directory

+0

@directory私の答えを更新しました – Wilt

+0

多くの感謝!これはトリックでした:-) – directory

関連する問題