2017-05-16 1 views
3

알림 시스템에서 작동하는 L5.4입니다. 이벤트 & 청취자를 생성했습니다. 나는이 사건을 해고 할 수있는 시험 경로를 가지고있다. 이벤트가 성공적으로 시작되었으며 블레이드보기에서 Pusher을 사용하여 이벤트를 수신 할 수도 있습니다.이벤트 처리기에서 이벤트를받지 못했습니다. Laravel

그러나 어떤 이유로 나는 handle(NewUser $event)listener 방법으로 중지해야합니다. 나는 시도했다 dd($event) 그러나 결코 거기에서 멈추지 않는다. 나는 내 이벤트와 청취자 매핑을 등록했지만 내

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

는 사실, 난 리스너의 handle 메서드 내에서 내 데이터베이스에 notification을 저장할 EventServiceProvider 재산 listen와 함께. 그러나 결코 그 방법에 들어 가지 않습니다.

문제에 대한 모든 의견을 환영합니다.

+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 문서가 문자열 표기법을 언급했기 때문에 나는 모릅니다. –

+0

둘째,'dump-autoload'를 사용하여 컴파일 된 클래스를 제거하는 방법을 제안했습니다. 예, 때때로 작동합니다. 나는'artisan make' 명령을 실행 한 후에'laravel'이 자동으로이 명령을 실행한다고 생각합니다. –

관련 문제