Cookie クラス

cookie クラスは cookie の値の取得、設定、削除を行うことができます。

設定

cookie クラスの設定はアプリケーションの共通設定ファイル app/config/config.php で行います。設定項目は 'cookie' セクションの中にあり、次のように設定されています。

パラメータ 規定値 説明
expiration integer
0
cookie の有効期限。この値は set() 関数で $expiration が指定されていないときに使われます。
path string
'/'
cookie が有効となるパスを制限します。この値は set() 関数で $path が指定されていないときに使われます。
domain string
null
cookie が有効となるドメインを制限します。この値は set() 関数で $domain が指定されていないときに使われます。
secure boolean
false
true を設定したときはセキュアな接続の時のみ cookie が送信されます。
httponly boolean
false
true を設定したときは HTTP によるアクセスのときのみ cookie が送信されます。 Javascript によるアクセスの時は送信されません。

これらの値のどれか、又は複数の値がアプリケーションの共通設定ファイルから欠落しているとき、cookie クラスはこの表に定義されている値をデフォルトとして使用します。

get($name = null, $default = null)

get 関数は $_COOKIE 変数から値を取得します。$name が指定されていないときは全ての値を取得します。

静的 Yes
パラメータ
パラメータ 規定値 説明
$name 任意 $_COOKIE 変数の中でのキー
$default
null
指定された $name が取得できなかったときに返すデフォルトの値
返り値 mixed
$theme = Cookie::get('theme', 'blue');

set($name, $value, $expiration = null, $path = null, $domain = null, $secure = null, $httponly = null)

set 関数は cookie を作成し、値を設定します。

静的 Yes
パラメータ
パラメータ 規定値 説明
$name 必須 $_COOKIE 変数内でのキー
$value 必須 cookie に設定する値
$expiration
null
cookie の有効期間(秒)
$path
null
cookie が有効となるパス
$domain
null
cookie が有効となるドメイン
$secure
null
true を設定したときはセキュアな接続の時のみ cookie が送信されます。
$httponly
null
true を設定したときは HTTP によるアクセスのときのみ cookie が送信されます。 Javascript によるアクセスの時は送信されません。
返り値 boolean
Cookie::set('theme', 'blue', 60 * 60 * 24);

規定値が null のパラメータについては、 null 、もしくは未指定の場合は共通設定ファイルで指定された設定値が使われます。

delete($name, $path = null, $domain = null, $secure = null, $httponly = null)

delete 関数は $_COOKIE 変数から値を削除します。

When a cookie was created under a specified path or/or domain etc. you must also supply this to the delete function.

静的 Yes
パラメータ
パラメータ 規定値 説明
$name 必須 削除するキー
$path
null
cookie が有効となるパス
$domain
null
cookie が有効となるドメイン
$secure
null
true を設定したときはセキュアな接続の時のみ cookie が送信されます。
$httponly
null
true を設定したときは HTTP によるアクセスのときのみ cookie が送信されます。 Javascript によるアクセスの時は送信されません。
返り値 void
// Delete normal cookie
\Cookie::delete('theme');

// Set a cookie with a path
\Cookie::set('theme', 'fuel', null, '/account/');

// Delete that cookie
\Cookie::delete('theme', '/account/');