セッション管理(sessionヘルパ関数)
ヘルパ関数でのセッション管理の方法です。
セッションの管理方法は、3つあります。
- Requestクラスのメソッド
- ファサード(Sessionクラスのuseが必要です。)
- ヘルパ関数
以上の中から、ヘルパ関数でのセッション管理方法です。
セッションから取得
1 2 3 4 5 6 7 8 |
// セッションから単体データを取得する $id = session('id'); // nameに値が無ければ、名無しを取得する(デフォルト値の指定) $name = session('name', '名無し'); // セッションの値を全て取得(配列) $data = session()->all(); |
セッションに値を保存
1 2 3 4 5 |
// セッションへ単体データを保存する session(['users' => null]); // セッションへ複数データを保存する。 session(['chairs' => 7, 'instruments' => 3]); |
セッション値の存在確認
1 2 3 4 5 |
// セッション値が存在するとTrueを返す(NULLはFalse) $is_users = session()->has('users'); // セッション値が存在するとTrueを返す(NULLでもTrue) $exists = session()->exists('users'); |
セッションの削除
1 2 3 4 5 6 7 8 9 10 11 |
// 削除(単体) session()->forget('key'); // 値を取得して、削除 $key = session()->pull('key'); // 削除(複数) session()->forget(['key1', 'key2']); // 削除(全データ) session()->flush(); |
セッションのフラッシュメッセージ
1 2 |
// フラッシュメッセージ session()->flash('message','登録完了しました。'); |
フラッシュは、ちょっと特殊な使い方ですね。
次のリクエストまでの間だけ、セッションに保存されます。
登録フォームやメール送信フォームで、最後の処理が無事に処理された時のメッセージなどに活用します。