Archive for 5月, 2019

Laravelのイベント処理でリダイレクトさせたい時の対策

by codechord. 0 Comments

イベントって何かと便利だから、共通処理をイベント使って書きたくなります。
リダイレクト処理もそうしたい。って思ったのがきっかけ。
で、いろいろリスナ書いてみるも、できなかったので、解決策を書き残しておきます。

Event不可。MiddlewareかControllerに。

Eventはバックグラウンドタスクとしてコールされるので、リダイレクト処理描いても無駄だよって。

参考:firing a redirect from an event

だから、ログイン後に特殊なリダイレクトのロジックを挟みたいときは、

  • コントローラのログイン処理の後でリダイレクトのロジックを挟むか、
  • ミドルウェアにリダイレクトのロジックを記述

のいずれかにしましょう。

イベントリスト

イベントのリストはこちらにまとまってる。

概ね、次のようなところにあるよう。

  • Auth
  • Cache
  • Consoleコマンド
  • Databaseのトランザクション
  • Log
  • Mail
  • Notification
  • Queue
  • Redis

リファレンス本にもイベントのこと書いてたような気がするので、後でチェックする。