2017-05-16 4 views
3

通知システムで動作しているL5.4です。私はイベント&リスナーを作成しました。私はこのイベントを発射するためのテストルートを持っています。イベントは正常に起動され、ブレードビューでPusherを使用してもイベントを受信できます。イベントハンドラがイベントを受信して​​いないLaravel

しかし、私は私のlistenerhandle(NewUser $event)メソッド内で停止する必要が何らかの理由で。私は試しましたdd($event)しかしそれは決してそこに止まりません。私はlisten財産

//App/Providers/EventServiceProvider.php 
protected $listen = [ 
     'App\Events\NewUser' => [ 
      'App\Listeners\NewUserAdminNotification', 
     ], 
    ]; 

と私のEventServiceProvider内のイベントとリスナーのマッピングを登録しているが実は、私は、リスナーのhandleメソッド内で自分のデータベース内notificationを保存したいです。しかし、決してその方法には入りません。

問題点を指摘してください。

+0

リスナーコードを投稿してどのように発砲してテストすることができますか? – Sandeesh

+0

@Sandeesh、ご返信ありがとうございます。ジョノの答えに対する私のコメントを見てください。私はすでに述べたように、イベント発射は問題ないがハンドラは機能していないと述べたので、 –

答えて

0

//App/Providers/EventServiceProvider.php 

protected $listen = [ 
     \App\Events\NewUser::class => [ 
      \App\Listeners\NewUserAdminNotification::class, 
     ], 
    ]; 
0

コンパイルされたクラスをクリアして、Laravelに新しいイベントを登録させる必要が生じることがあります。コンソール/ターミナル目で

composer dump-autoload

と&リスナークラスは私の作品のイベントの表記を変更

php artisan clear-compiled

+0

あなたの返事をありがとう。私はちょうど 'EventServiceProvider'の異なる表記法を、文字列表記ではなく' listen'配列 '\ App \ Events \ NewUser :: class'の両方のイベントとリスナーに対して使用しようとしました。私はなぜlaravelのdocsが文字列表記に言及したのかわからない。 –

+0

第2に、 'dump-autoload'でコンパイルされたクラスをクリアすることを提案したように。はい、これは時々動作します。 'artisan make'コマンドを実行すると、' laravel'がこのコマンドを自動的に実行すると思います。 –

関連する問題