##はじめに
ユーザーの識別やユーザー毎のデータの保存を行うことが必要になるかと思います。
そのような時のために、LaravelフレームワークはSessionという仕組みを提供しており、データ(キーと値のペア)を保存できます。
今回はそのSessionについてまとめたいと思います。
##Session操作の種類
Laravelでセッションを操作するには、主に2つの方法があります。
1つはアクションに渡されるRequestインスタンスを経由する方法です。
Illuminate\Session\Storeインスタンスが使われます。
// セッション中の全データを取得する
// Illuminate\Http\Requestをuseする
$data = $request->session()->all();
もう1つはグローバルなヘルパ関数session( )を使用する方法です。
Illuminate\Session\SessionManagerインスタンスが使われます。
// セッション中の全データを取得する
$data = session()->all();
後者の方がコンパクトにかけて便利なので今回は後者についてまとめていきたいと思います。
##Session操作の方法
// セッション中の全データを取得する
session()->all();
// 指定したデータがセッションに存在するかを調べる
if (session()->exists('key')) {
// 存在する
}
if (session()->has('key')) {
// 存在しnullではない
}
// セッションへデータを保存する
session()->put('key', $value);
// 指定したデータをセッションから削除する
session()->forget('key');
// セッションから全データを削除する
session()->flush();
##おわりに
Session使いこなすことでユーザーの識別やユーザー毎のデータの保存ができるようになるのでためしてみてください。