Events 为什么Laravel5.4在这里抛出一个类型错误?
我的App\Providers\EventServiceProvider中有以下内容:Events 为什么Laravel5.4在这里抛出一个类型错误?,events,laravel-5,laravel-5.4,Events,Laravel 5,Laravel 5.4,我的App\Providers\EventServiceProvider中有以下内容: protected $listen = [ 'Illuminate\Auth\Events\Login' => [ 'App\Listeners\UserLogin' ], ]; 在我的App\Listeners\UserLogin.php中: use App\Events\UserLoggedIn; class UserLogin { public function
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.
有人能告诉我为什么会出现此错误吗?受保护的$listen数组调用了错误的类
您需要给它一个事件类的名称,然后给它一个侦听器列表
protected $listen = [
'App\Events\UserLoggedIn' => [
'App\Listeners\UserLogin'
],
];
哦!我忘了生成事件。非常感谢。