为什么 Laravel 5.4 会在此处抛出类型错误?
Why is Laravel 5.4 throwing a Type error here?
我的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.
谁能告诉我为什么会出现这个错误?
您的 protected $listen
数组调用错误 class。
您需要为其指定事件的名称class,然后是听众列表。
protected $listen = [
'App\Events\UserLoggedIn' => [
'App\Listeners\UserLogin'
],
];
我的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.
谁能告诉我为什么会出现这个错误?
您的 protected $listen
数组调用错误 class。
您需要为其指定事件的名称class,然后是听众列表。
protected $listen = [
'App\Events\UserLoggedIn' => [
'App\Listeners\UserLogin'
],
];