Laravel: Sıfırdan İleri Seviye

Ders 15/17 45 dakika

Event ve Listener

Event-driven architecture, Event/Listener oluşturma ve Observer pattern.

Event ve Listener

Event-driven architecture ile loose coupling sağlayın. Bir şey olduğunda (event) tepki verin (listener).

Event ve Listener Oluşturma

# Event
php artisan make:event OrderPlaced

# Listener
php artisan make:listener SendOrderConfirmation --event=OrderPlaced

# Birlikte oluştur
php artisan event:generate  # EventServiceProvider'daki tanımlara göre

Event

Listener

order->user->notify(new OrderConfirmation($event->order));
    }
}

Event Kaydetme

// EventServiceProvider
protected $listen = [
    OrderPlaced::class => [
        SendOrderConfirmation::class,
        UpdateInventory::class,
        NotifyAdmin::class,
    ],
];

Event Dispatch

// Event dispatch
OrderPlaced::dispatch($order);

// Veya
event(new OrderPlaced($order));

Model Observer

php artisan make:observer UserObserver --model=User

Önemli Noktalar

  • Event'ler uygulama içi olayları temsil eder
  • Listener'lar event'lere tepki verir
  • Observer'lar model event'lerini dinler
  • Loose coupling sağlar
  • Event'ler queue'lanabilir