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