在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
路线没有问题。
当触发事件时,即使进程处于return redirect('mypage');
条件,一切都可以正常工作,IF
除外。 (然后流程继续调用主页(默认)路由,而不是mypage
路由。)
请问好吗?
答案 0 :(得分:0)
我知道这不是最佳解决方案,但至少我发现了一种有效的解决方法。我不能在Handler(s)中使用Laravel的redirect()
,而是使用PHP本机重定向,然后强制退出该函数。
像:
header("location: /mypage");
return;
至少它允许我在应该的位置停止功能,然后让我去我需要的地方。