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