[CakePHP] Cookieの使い方

CakePHP 2.xでCookieを利用する方法についてです。CakePHPではCookieComponentが用意されており、簡単にCookieを扱えるようになっています。
Contents
Cookie利用の準備
CookieComponentを使えるように、コントローラーに下記ソースを記載します。
1 |
public $components = Array('Cookie'); |
これだけでCakePHPでクッキーが使えるようになります。
Cookieの書込み
1 |
$this->Cookie->write('key', 'value', false, '7 day'); |
Cookieのキー(名前)、値、暗号化、有効期限の順に記載します。
すべてのCookieの値は暗号化されています。暗号化せず、平文にしたい場合は第三引数をfalseにします。
有効期限は「7 day」「1 hour」「3600」 などの値が利用でき、また、PHP の関数 strtotime()を利用することも可能になっています。
同時に複数のCookieを書き込む
一度に複数のCookieを書き込みたい場合は以下のようにします。
1 2 3 |
$this->Cookie->write('User', array('name' => 'Larry', 'role' => 'Lead') ); |
Cookieのグルーピング
値のグルーピングを行いたい場合は、ドット記法を使います。
1 2 |
$this->Cookie->write('User.name', 'Larry'); $this->Cookie->write('User.role', 'Lead'); |
Cookieの表示
Cookieのキーを指定して、値を取得します。
1 |
$this->Cookie->read('key'); |
Cookieの削除
Cookieのキーを指定してデータを削除します。
1 |
$this->Cookie->delete('key'); |
これで指定されたキーとそれに対応する値、有効期限などが削除されます。
全Cookieの削除
すべてのCookie情報を削除します。
1 |
$this->Cookie->destroy(); |
Cookieを保存するパスを指定
Cookieを保存するディレクトリのパスを指定します。
1 |
$this->Cookie->path = '/path/'; |
指定しない場合は「/」になります。
Cookieのドメインを指定
Cookieを利用するドメインを指定します。
1 |
$this->Cookie->domain = 'example.com'; |
関連記事
- [CakePHP] ネスト構造の配列を簡単に扱う方法 Set::extract()
- [CakePHP] 独自SQLのAS句で新しいフィールドを作りCakePHPの形式でデータを出力する方法
- [CakePHP] CakePHPのインストールと各種設定
- [CakePHP] MacのMAMP環境にインストールする方法
- [CakePHP] 独自のSQL文を利用する方法