2017-02-06 11 views
0

私は私のアプリ\プロバイダ\ EventServiceProviderでこれを持っている:私のアプリ\リスナーでなぜLaravel 5.4でタイプエラーが発生するのですか?

protected $listen = [ 
    'Illuminate\Auth\Events\Login' => [ 
     'App\Listeners\UserLogin' 
    ], 
]; 

、これは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. 

誰も私にこのエラーがある理由を教えてもらえますか?

答えて

1

protected $listen配列が間違ったクラスを呼び出しています。

イベントクラスの名前とリスナーのリストを指定する必要があります。

protected $listen = [ 
    'App\Events\UserLoggedIn' => [ 
    'App\Listeners\UserLogin' 
    ], 
]; 
+0

D'oh!私はイベントを生成するのを忘れました。ありがとうございました。 – khany

関連する問題