CakePHP3.x|コントローラでセッションを使う
スポンサーリンク
セッションオブジェクトを取得する
request->session()でセッションオブジェクトを取得できます。
$session = $this->request->session();
セッションを書き込む
session->write()でセッションに書き込みがおこなえます。
$session->write('User.name', '隆');
第一引数には、セッションキーを指定します。
セッションキーは、.(ドット)を使うと階層化することができます。
配列にすることにより、複数同時に書き込むことができます。
$session->write([ 'User.age' => 22, 'User.sex' => 'man', ]);
特定のセッションを読み込む
session->read()でセッションを読み込みをおこなえます。
セッションキーを指定すると指定したセッションのみ取得できます。
$value = $session->read('User.age');
全てのセッションを読み込む
read()の引数にセッションキーを指定しない場合は、全てのセッションを読み込みます。
$value = $session->read();
セッションを削除する
delete()でセッションの削除ができます。
引数には、セッションキーを指定します。
$session->delete('User');
セッションの読み取りと削除を同時に行う
consume()で一度セッションを読み取った後は削除されています。
フラッシュメッセージのような使い方がコントローラなどでもできます。
$age = $session->consume(‘User.age’);
セッションを破棄する
destroy()で全てのセッションを破棄することができます。
$session->destroy();
セッションに値があるか確認する
check()でセッションに値があるか確認することができます。
if ($session->check(‘User.name’)) { echo 'セッションに値があります。'; }
更新日:2018年08月26日
作成日:2018年06月25日