質問: Session::get('entry'); return view('entry.complete',compact('input')); } } ```
回答: Laravelでは今回のケースのようにHTTPリクエストをフィルタリングするのに便利なMiddlewareという機能があります。 詳細はドキュメントを参照して頂きたいのですが、Middleware使うことでリクエストを予め加工したり、ログイン状態をチェックしたりといったことができます。 これによりController側で受け取るリクエストはエラーチェックの必要のない、処理可能な正しいリクエストであることが保証されます。 Laravel5ではデフォルトでVerifyCsrfTokenミドルウェアがMiddlewareフォルダ下にありますので、こちらを適用させてフォーム側に`{{ csrf_field() }}`をセットするだけでもセッションのチェックは可能かと思われます。 このミドルウェアは`TokenMismatchException`を投げますので、`App\Exceptions\Handler`でキャッチしてあげればそちらでリダイレクト処理が可能です。 もちろんカスタムミドルウェアを作成してもよろしいかと思います。 求めている回答ではなかったかもしれませんが、MiddlewareはControllerを肥大させないための大事な機能です。 コントローラ内で条件分岐が1つでもあればMiddlewareに分離できるチャンスかもしれません。