CakePHPではまったこと18(1.2のCookieコンポーネント)

Cookieコンポーネントめ。すごい便利なんですけどね。Sessionコンポーネントと似た感じで使えるし。


if (!$this->Cookie->read('TEST')) {
   $this->Cookie->write('TEST', 'TEST');
}

checkはないみたいなんですけどね。
で、writeの4番目の引数がexpireなんです。3番目は暗号化するかしないか。(デフォルトはtrue:暗号化する)
なもんで


define('COOKIE_EXPIRE', 60*60*24*5);   // 5日有効

$this->Cookie->write('TEST', 'TEST', true, time() + COOKIE_EXPIRE);

みたいにしてたんですわ。
でもぜんぜんクッキーが保存されない。しばらく悩んだ挙句、FirefoxでCookie見ればいいことに気づいた私。見てみたらクッキーあるけど有効期間がセッション中だけになっとる。
なんでこんなことになるんだーと思ってソース見たら、expireの引数に中でtime()足しとった!
うへぇ、と言うことで


$this->Cookie->write('TEST', 'TEST', true, COOKIE_EXPIRE);

で思惑通りになりましたとさ。
あと、標準のままだとクッキーの名前が”CakeCookie[TEST]”になっちゃうので、cake » libs » controller » componentsにあるcookie.phpの


var $name = 'CakeCookie';

を適当に変更しました。
ちなみにSessionで使われるクッキーもほっとくと”CakePHP”になっちゃうけど、これはapp » configのcore.phpに設定項目があります。

あと、CakePHPで作ったといえばこれ↓。
みんなが小説家になるようです。(α版)
なんという宣伝か。

以上

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: PHP, フレームワーク パーマリンク

CakePHPではまったこと18(1.2のCookieコンポーネント) への4件のフィードバック

  1. コスミー のコメント:

    18だった。

  2. 匿名 のコメント:

    Add Your Comment

  3. ピンバック: [CakePHP] クッキーの使い方まとめ - ElectronicBrain is eating BreakFast

  4. ssl security check prtg のコメント:

    An interesting discussion is worth comment. I do believe that you should write more about this subject, it
    might not be a taboo matter but generally folks don’t speak
    about such issues. To the next! All the best!!

コメントを残す

メールアドレスが公開されることはありません。