この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:T
更新日時:2019-04-13 16:44:09

タイトル: Controller以外でリダイレクトする方法
SEOタイトル: 【Laravel】Controller以外でリダイレクトする方法

この記事の要点
  • Laravel でController 以外(static メソッド等)からリダイレクトする方法
  • 通常の redirect() は Controller 内でないと動かない
  • 対処: redirect('/error')->throwResponse() で例外として送出 → どこからでもリダイレクト可
  • abort_if / abort() もミドルウェア層で使える

 

通常コントローラーを継承しているクラス以外でリダイレクトすることは出来ないが、

場合によってはstaticメソッドやコントローラーを継承していないクラスでリダイレクトしたい場合がある。

通常のリダイレクトに加えて以下の「->throwResponse()」を追記することでそれが可能になる。

return redirect('/error')->throwResponse();