Home > CakePHP > [CakePHP] クッキーの使い方まとめ

[CakePHP] クッキーの使い方まとめ

CakePHPのクッキーを使おうと思ってはまったのでメモです。

まずこれはCakePHPのCookieコンポーネントの使い方ということが前提です。PHP標準でもクッキーの関数はありますが。

まず、クッキーを使うにはコントローラで、CookieComponentを読み出します。

var $components    = array('Cookie');

そして、クッキーを保存するときは、以下を使います。

$this->Cookie->write('shopid',$this->hash,false,time()+60*60);

引数としては、順番に、

(クッキーの名前,クッキーの値,暗号化,有効期限)

です。第2引数まででOKなのですが、その場合は、第3引数の暗号化はデフォルトでfalseとなり暗号化はしません。また、第4引数はクッキーの有効期限を与えます。引数なしでデフォルトは5日間です。

そのほか、ドメインやパスを指定したいときは、別途指定します。

$this->Cookie->path = '/hogehoge/';

デフォルトではパスは「’/'」となり、そのドメイン全体で使用できます。

パスは、

$this->Cookie->domain = 'www.mutliburst.net';

と指定します。指定しない場合、NULLとなります。

このように、クッキーを保存すると、ブラウザにCAKEPHP[shopid]という名前で保存されます。

上記の名前を変更する場合は、app/config/core.phpの以下の部分を変更します。

Configure::write('Session.cookie', 'CAKEPHP');

次にクッキーの読み出しですが、以下のようにします。

$value = $this->Cookie->read('shopid');

これで、’shopid’という名前のクッキーの値が読み出せます。

と、ここまで書いたのですが、いろいろと問題があるようです。

標準でCakeをインストールしたままだと、クッキーの有効期限がどうやってもセッションと同じで、ブラウザを閉じたら終わりになってしまいます。

そこで、同じくapp/config/core.phpの下記の部分をmediumかlowにすれば有効期限が変更できるようです。

Configure::write('Security.level', 'high');

なるほど。アプリケーションのセキュリティーポリシーに併せて変更してみてください。

ですが。。。結局私の場合、PHP標準のクッキー関数を使ってますが。。。なぜか、うまくいかないんです。。。。(^^;)

他にも以下のサイトが参考になると思います。


CakePHP ポケットリファレンス (Pocket Reference)

関連記事

Sponsored Link

Google+

facebook

zenback

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://www.multiburst.net/sometime-php/2009/02/how-to-use-cakephp-cookie-component/trackback/
Listed below are links to weblogs that reference
[CakePHP] クッキーの使い方まとめ from Sometime PHP
pingback - Web System Development ! » [CakePHP] クッキーの使い方 より 2009/05/20

[...] 参考サイトURL カテゴリー: CakePHP タグ: コメント (0) トラックバック (0) コメントをどうぞ トラックバックURL [...]

Additional comments powered by BackType

Home > CakePHP > [CakePHP] クッキーの使い方まとめ

Subscribe This Blog
Subscribe This Blog
FeedBurner

Search
Categories
Tag Cloud
Twitter Counter
Archives
My Other Blogs
Affiliate Blogs
Translator
Japanese flagEnglish flag

Return to page top