Laravel 5.2
では、のカスタムイベントハンドラ(ログインイベント用)があります。このように:Laravel 5.2:リターンリダイレクト()がカスタムイベントハンドラ内で正しく動作しない
protected $listen = [
'Illuminate\Auth\Events\Login' => ['App\Listeners\UserLoggedIn'],
];
handle
機能がapp/Listeners/UserLoggedIn.php
にあります:
public function handle(Login $event)
{
/**
* Some codes here
*/
if ($foo==$bar) {
//echo "I was here!";
//exit;
return redirect('mypage');
}
}
mypage
ルートが適切に定義されており、それはURLを介して手動で呼び出すことができます。 (そしてそれは走ります)。したがって、mypage
ルートに問題はありません。
イベントがトリガーされると、プロセスがIF
の状態になっても、すべてがreturn redirect('mypage');
を除いて動作します。 (そして)プロセスはの代わりにのルート(デフォルト)のルートを呼び出し続けます。
どうぞよろしくお願いします。
これを参照してください。http://stackoverflow.com/questions/17797930/laravel-redirect-does-not-work-in-event-handler-listener –
「応答」は決してアプリケーションから外すことはありません。そのハンドラから返された値だけです。ある時点でパイプラインの何かから戻さなければならないでしょう。 – lagbox