Home > PHP | フレームワーク > CakePHPではまったこと18(1.2のCookieコンポーネント)

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で作ったといえばこれ↓。
みんなが小説家になるようです。(α版)
なんという宣伝か。

以上

Comments:2

コスミー 08-02-04 (月) 23:59

18だった。

匿名 08-02-23 (土) 1:48

Add Your Comment

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=167
Listed below are links to weblogs that reference
CakePHPではまったこと18(1.2のCookieコンポーネント) from コスミー報告書[社外秘]
pingback from [CakePHP] クッキーの使い方まとめ - ElectronicBrain is eating BreakFast 09-02-09 (月) 13:44

[…] コスミー報告書[社外秘] – CakePHPではまったこと18(1.2のCookieコンポーネント) […]

Home > PHP | フレームワーク > CakePHPではまったこと18(1.2のCookieコンポーネント)

Search
Feeds
Meta
 合計:004917
 今日:0050 昨日:0247

Return to page top