Laravel5 SESSION

2017.6.20 (火)

リクエストから取るのがいいのかなと思ってます。少なくともスパーグローバル変数は使わない方がよいという感じでしょうか。

public function sample(Request $request)
    {

        $request->session()->get("key"); // 取得
        $request->session()->put("key", "value"); // 保存

        $request->session()->forget("key"); // 削除
        $request->session()->flush(); // 削除

        $request->session()->flash("key", "value"); // 一時保存(フラッシュ)
        $request->session()->keep("key", "value"); // 一時保存データをキープする

        $request->session()->regenerate();  // 再生性

        return "foo bar";
    }

普通にセッション使うときはgetとputで充分かと思います。結構便利なのがflashです。1回のリクエストのみデータが持続しすぐに削除してくれるというのがいいです。またその後持続させたいとき(つまり普通のセッションにしたい場合)はkeepをつかってあげるといいです。regenerateは明示的に使うのが殆どの目的で内部的にregenerateされているっぽいです。(ソースは見てません)


https://readouble.com/laravel/5.4/ja/session.html