Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Laravel Events and Listeners: Decouple Your Code

Use events and listeners to build loosely coupled, maintainable applications.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Create Event
  2. Create Listener
  3. Dispatch Event
  4. Register in EventServiceProvider

Decouple code with events:

Create Event

class OrderPlaced
{
    public function __construct(public Order $order) {}
}

Create Listener

php
class SendOrderConfirmation
{
    public function handle(OrderPlaced $event)
    {
        Mail::to($event->order->user)->send(new OrderConfirmationMail($event->order));
    }
}

Dispatch Event

php
OrderPlaced::dispatch($order);
event(new OrderPlaced($order));

Register in EventServiceProvider

php
protected $listen = [
    OrderPlaced::class => [
        SendOrderConfirmation::class,
        UpdateInventory::class,
    ],
];
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Rate Limiting16 January 20261 min read