MyTetra Share
Делитесь знаниями!
Как в Laravel создать обработчик стандартного события (слушателя) на примере входа пользователя в систему
08.04.2019
15:30
Автор: xintrea
Текстовые метки: laravel, event, listener, событие, слушатель, обработчик, user, вход, пользователь, логин, login
Раздел: Компьютер - Программирование - Язык PHP - Laravel

Создание слушателя стандартных событий в Laravel производится в два этапа:


  • Вначале нужно вписать событие и слушателя в файл app/Providers/EventServiceProvider.php.
  • Затем нужно сгенерировать файлы события и слушателя. В случае, если нужно сделать обработчик стандартного события, в момент генерации файлов система увидит, что используется стандартное событие, и будет генерировать только файл слушателя.


Например, если нужно сделать обработчик события успешного входа пользователя в систему, необходимо сделать следующее.


В файле app/Providers/EventServiceProvider.php необходимо прописать:


protected $listen = [

...

// Реакция на событие успешного входа пользователя

'Illuminate\Auth\Events\Login' => [

'App\Listeners\UserEventListener',

],

];


Здесь Illuminate\Auth\Events\Login - это стандартное событие Laravel, созникающее при успешнов входе пользователя. А App\Listeners\UserEventListener - это класс-обработчик данного события.


Чтобы класс-обработчик сгенерировался, необходимо дать команду:


> artisan event:generate


В результате будет создан файл с классом UserEventListener:


app/Listeners/UserEventListener.php


В методе handle() данного класса можно писать действия, которые должно производить веб-приложение при успешном логине пользователя:



use Illuminate\Support\Facades\Log;


...


public function handle(Login $event)

{

Log::info("Пользователь вошел!");

}


Результат можно посмотреть в файле лога:


storage/logs/laravel.log



Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования