ドキュメント
リリースカレンダー
リンク
SourceForge.jp SourceForge.JPへ
php.net PHP公式サイトへ

クッキー

 クッキーは、数少ないクライアント側に保存できる仕様で、HTTPヘッダの送受信によりデータの授受を行います。  SyLフレームワークでは、セッション同様インターフェイスを統一するためにPHPの標準機能をラップしたクラスを用意しています。

1. クッキーに関するコード例

クッキーに値をセットしたり、取得する簡易インターフェイスの使用例です。

// コンテキストからリクエストオブジェクトを取得
$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();

2. クッキーパラメータのデフォルト値

 クッキーは通常、有効期間を設定したり、有効にする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)
{
…