2016-08-06 2 views
0

Я использую Laravel 5.0. * И следовал следующему ответу: login event handling in laravel 5, но я все еще не могу видеть событие.Событие не срабатывает Laravel 5.0. *

Любой может помочь мне с этим:

Это как мой обработчик событий класса выглядит следующим образом:

<?php namespace App\Handlers\Events; 

use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldBeQueued; 
use App\User; 
use Illuminate\Support\Facades\Log; 

class AuthLoginEventHandler { 

    /** 
    * Create the event handler. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     // 
    } 

    /** 
    * Handle the event. 
    * 
    * @param User $user 
    * @param $remember 
    * @return void 
    */ 
    public function handle(User $user, $remember) 
    { 
     // 
     $user->login_counter = 1; 
     $user->save(); 
//  $user->increment('login_counter'); 

     Log::error('something wrong happened'); 
//  dd("login fired and handled by class with User instance and remember variable"); 
    } 

} 

И это EventServiceProvider:

<?php namespace App\Providers; 

use Illuminate\Contracts\Events\Dispatcher as DispatcherContract; 
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; 

class EventServiceProvider extends ServiceProvider { 

    /** 
    * The event handler mappings for the application. 
    * 
    * @var array 
    */ 
    protected $listen = [ 
     'auth.login' => [ 
      'App\Handlers\Events\AuthLoginEventHandler', 
     ], 
    ]; 

    /** 
    * Register any other events for your application. 
    * 
    * @param \Illuminate\Contracts\Events\Dispatcher $events 
    * @return void 
    */ 
    public function boot(DispatcherContract $events) 
    { 
     parent::boot($events); 

     // 
    } 

} 

Цените вашу помощь

+0

Вы пытались как показано в [docs show] (https://laravel.com/docs/5.0/events), чтобы увидеть, сможете ли вы сначала начать эту работу? – Ohgodwhy

+0

@ Ohgodwhy да, я сделал то же самое, но все еще не работал ... Я не вижу никакой ошибки в своем коде, ни чего-то не хватает, я просто не понимаю, почему auth.login не стреляет вообще ... – mizlul

+0

также попробовал Событие :: listen ('auth.login', function ($ event) { // Обрабатывать событие ... }); непосредственно из метода boot(), по-прежнему нет изменений, событие не срабатывает – mizlul

ответ

0

Я использую Laravel 5.2. Я потратил часы, пытаясь понять, почему мой слушатель не отвечает, не зная, что я ошибся в имени класса событий в массиве $ listen. В основном, если вы запускаете свое событие подобно событию (новый SameEventClass (...)), убедитесь, что оно совпадает с именем, которое вы использовали в $ listen => ['SameEventClass' => ['SameListener']]

Смежные вопросы