# laravel session を制する
laravel を使うことが増え session 機能の使い方がたくさん
もちろん$_SESSION
も使えますが、せっかくなので、laravel の session 機能紹介
# session 値保存
Request Session グローバルヘルパ使う 3 つのパターンがあります。
// $request 使う場合
$request->session()->put('user', $request->user);
// Session 使う場合
Session::put('user', 'hogehoge');
// グローバルヘルパ使う場合
session(['user' => 'hogehoge' ]);
# session 値読み込み
// $request 使う場合
$request->session()->get('user');
$request->session()->all(); // 全データ取得
// Session 使う場合
Session::get('user', 'guest'); // 取得できない場合 guest 返す
Session::all(); // 全データ取得
// グローバルヘルパ使う場合
session('user');
# session 値存在確認
// $request 使う場合
$request->session()->has('isLogin');
$request->session()->exists('isLogin')
// Session 使う場合
Session::has('isLogin');
// session() 使う場合
session()->has('isLogin');
session()->has() と session()->exists() の違い
exists()
は値が set されれば null であても true 返します
# session 値削除
// $request 使う場合
$request->session()->forget('user');
$request->session()->forget(['key1', 'key2']); // 複数削除
$request->session()->flush(); // 全データ削除
// Session 使う場合
Session::forget('user');
// session() 使う場合
session()->forget('user');
# session ID 取得と再生成
セッション攻撃防ぐために使う再生成と取得
// session ID取得
$request->session()->getId();
// session ID再生成
$request->session()->regenerate();