courtesy : image from andersontech

Laravel Event Listeners ( queue )

Mostafa Kamal
Hello Laravel
Published in
2 min readSep 12, 2019

--

  • Event is a specific task.
  • Listener listen a event then trigger one or many actions.
  • Actions<- Listener <- listen (event)
# generate from kernel
php artisan event:generate
# manually create
php artisan make:listener ListenerName
php artisan make:event EventName

event

  • EventName class.

listener

register

  • app\Providers\EventServiceProvider.php
protected $listen = [
'App\Events\EventName' => [
'App\Listeners\ListenerName1',
'App\Listeners\ListenerName2',
'App\Listeners\ListenerNameALotOF',
],
];

fire / dispatching

use App\Events\OrderShipped;
event(new EventName($order));

# queue

event with queue

  • table create
php artisan queue:table
php artisan migrate
  • php artisan queue:table php artisan migrate
  • update inside .env for (database)
  • QUEUE_CONNECTION=database
  • implements ShouldQueue in ListenName class
  • php artisan queue::work

event with queue 2nd method

  • table create
php artisan queue:table
php artisan migrate

implements ShouldQueue in ListenName class

  • php artisan queue::work database — queue=listeners

--

--