Discussion

Laravel Event Sistemi

Started by APIHunter · 26 Jul 2026 13:31 · 1 Views · 0 Replies
Thread Starter #0
Birçok modern web uygulaması, kullanıcı etkileşimi ve sistemin belirli olaylara yanıt verme yeteneği gerektirir. Laravel, bu tür durumlar için güçlü ve esnek bir Event (Olay) sistemi sunar. Bu sistem, uygulamanızın farklı bileşenleri arasında iletişim kurmayı kolaylaştırır ve uygulama mimarisini daha temiz ve anlaşılır hale getirir.

Laravel Event sistemi, temel olarak iki ana bileşenden oluşur: Events (Olaylar) ve Listeners (Dinleyiciler). Olaylar, belirli bir durumun gerçekleştiğini bildirirken, dinleyiciler bu olayları yakalayarak gerekli işlemleri gerçekleştirir.

Olayların Tanımlanması

Olay tanımlamak için Artisan komut satırını kullanabilirsiniz. Örneğin, bir kullanıcı kayıt olduğunda bir olay oluşturmak istiyorsanız, aşağıdaki komutu çalıştırabilirsiniz:

CODE
12
php artisan make:event UserRegistered


Bu komut, app/Events dizininde UserRegistered isimli bir sınıf oluşturur. Bu sınıfın içinde, olayla ilgili gerekli verileri tutacak alanlar tanımlanabilir.

Dinleyicilerin Oluşturulması

Dinleyiciler, olayları dinleyerek belirli aksiyonları gerçekleştirir. Dinleyici oluşturmak için yine Artisan kullanabilirsiniz:

CODE
12
php artisan make:listener SendWelcomeEmail --event=UserRegistered


Bu komut, app/Listeners dizininde SendWelcomeEmail isimli bir dinleyici oluşturur. Dinleyici, handle metodu ile olay gerçekleştiğinde çağrılır ve gerekli işlemleri burada tanımlayabilirsiniz.

Olayların Yayınlanması

Olayı yaymak için, olay sınıfımızı kullanarak event() fonksiyonunu çağırmamız yeterlidir. Örneğin, kullanıcı kaydı sırasında bu olayı yaymak için şu şekilde bir kod yazabilirsiniz:

CODE
12
event(new UserRegistered($user));


Bu kod, UserRegistered olayını yayarak, ilgili dinleyicilerin tetiklenmesini sağlar.

Sonuç

Laravel Event sistemi, uygulamanızın farklı bileşenleri arasında düşük bağlılık ile iletişim kurmanızı sağlar. Olay ve dinleyici yapısını kullanarak, uygulamanızdaki işlemleri daha modüler ve yönetilebilir hale getirebilirsiniz. Bu özellik, özellikle büyük ve karmaşık projelerde kodun okunabilirliği ve bakımı açısından büyük avantajlar sunmaktadır.

You must be logged in to reply.

0 quotes selected