クッキーは、数少ないクライアント側に保存できる仕様で、HTTPヘッダの送受信によりデータの授受を行います。 SyLフレームワークでは、セッション同様インターフェイスを統一するためにPHPの標準機能をラップしたクラスを用意しています。
クッキーに値をセットしたり、取得する簡易インターフェイスの使用例です。
// コンテキストからリクエストオブジェクトを取得 $request =& $context->getRequest(); // クッキーに値をセットする $request->setCookie('sample', '6.1'); // クッキーから値を取得する $sample = $request->getCookie('sample'); echo $sample; // 6.1
これ以外の操作は、クッキーオブジェクトから行います。
// コンテキストからリクエストオブジェクトを取得 $request =& $context->getRequest(); // クッキーオブジェクトを取得する $cookie =& $request->getCookieObject(); // クッキーに値をセットする(上の処理と同様) $cookie->set('sample', '6.1'); // クッキーから値を取得する(上の処理と同様) $sample = $cookie->get('sample'); // クッキーに配列から複数値を一括してセットする $values = array( 'sample1' => '1.1', 'sample2' => '1.2', 'sample3' => '1.3' ); $cookie->sets($values); // クッキーから全パラメータを取得する $all_cookie_data = $cookie->gets(); // クッキーから値を削除する $cookie->delete('sample'); // セッションから全パラメータを削除する $cookie->deletes();
クッキーは通常、有効期間を設定したり、有効にするURLを指定します。 SyLフレームワークでは、それらのデフォルト値はdefines.xmlで設定される定数で定義されます。
デフォルト値以外を使用したい場合は、setメソッドの引数で変更できます。
… // デフォルト値を変更する場合は、各パラメータを指定する function set($name, $value, $expire=SYL_COOKIE_EXPIRE, $path=SYL_COOKIE_PATH, $domain=SYL_COOKIE_DOMAIN, $secure=SYL_COOKIE_SECURE) { …