Session

セッションオブジェクトを取得とセッション変数の読み込み

以下の方法でセッションオブジェクトを取得と同時にセッション変数を読み込むことができます。

$memberName = $this->request->session()->read('Member.name');

セッションをたびたび使うのであれば、もちろんですがローカル変数にして使うこともできます。

$session = $this->request->session();
$memberName = $session->read('Member.name');

なお、read()の引数には、セッションのキーを指定しています。

write() - セッションを書き込む

セッションオブジェクトのwrite()でセッションを書き込むことができます。
第一引数には、セッションキーを指定します。
第二引数には、値を指定します。

$session = $this->request->session();

$session->write(
    'Member.name', 
    'hoge'
);

また配列で渡すと複数の値を同時に書き込むことができます。

$session->write([
    'Member.name' => 'taro',
    'Member.age'  => 24,
]);

check() - セッションに値があるか確認する

セッションオブジェクトのcheck()でセッション変数の存在チェックができます。

戻り値は、boolean型で値があればtrueを返します。

$session = $this->request->session();

if ($session->check('Member.name')) {
    echo 'セッションに値があります。';
}

戻り値は、boolean型で値があればtrueを返します。

consume() - セッションの読み取りと削除を同時にする

セッションオブジェクトの、consume()でセッションの読み取りと削除を同時にすることができます。

一度読み取ったあとは、セッションから削除されています。

echo $session->consume('Member.name');

delete() - セッションを削除する

セッションオブジェクトのdelete()でセッションを削除することができます。

なお、delete()の引数には、セッションのキーを指定しています。

$session = $this->request->session();
$session->delete('Member.name');

destroy() - セッション破棄

セッションオブジェクトの、destroy()でセッションを破棄できます。

$session = $this->request->session();

$session->destroy();

------------------------------
作成日:2017年06月21日
更新日:2017年07月01日
------------------------------

ページの先頭へ