我在App \ Providers \ EventServiceProvider中有这个:
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\UserLogin'
],
];
这在我的App \ Listeners \ UserLogin.php中:
use App\Events\UserLoggedIn;
class UserLogin
{
public function handle(UserLoggedIn $event)
{
...
}
}
但是当我尝试登录时,我收到此错误:
Type error: Argument 1 passed to App\Listeners\UserLogin::handle() must be an instance of App\Events\UserLoggedIn, instance of Illuminate\Auth\Events\Login given.
所以有人能告诉我为什么会出现这个错误吗?
答案 0 :(得分:1)
您的protected $listen
数组正在调用错误的类。
你需要给它一个事件类的名称,然后是一个监听器列表。
protected $listen = [
'App\Events\UserLoggedIn' => [
'App\Listeners\UserLogin'
],
];