Tartışma

Laravel Observer Kullanımı

Başlatan ShadowByte · 26 Tem 2026 13:41 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Laravel framework'ü, MVC (Model-View-Controller) mimarisini benimseyerek geliştiricilere güçlü bir yapı sunar. Bu yapının en önemli parçalarından biri de "observer" sistemidir. Observerlar, model olaylarını dinlemek ve bu olaylara tepki vermek için kullanılır. Bu yazıda Laravel'de observer kullanımını detaylı bir şekilde inceleyeceğiz.

Observer kullanımı, genellikle modelin belirli bir olay gerçekleştiğinde otomatik olarak belirli işlemlerin yapılmasını sağlamak için tercih edilir. Örneğin, bir kullanıcı kaydolduğunda bir e-posta göndermek ya da bir kayıt silindiğinde log tutmak gibi işlemler observerlar aracılığıyla kolayca gerçekleştirilebilir.

Observer oluşturmak için öncelikle bir observer sınıfı tanımlamalıyız. Bunun için Artisan komut satırını kullanarak şu komutu çalıştırabiliriz:

CODE
1php artisan make:observer UserObserver --model=User


Bu komut, UserObserver adında bir sınıf oluşturacak ve bu sınıf User modeline bağlanacaktır. Oluşturulan observer sınıfı, app/Observers dizininde yer alacaktır. Bu sınıfta, model olaylarına karşılık gelen metodları tanımlayabiliriz. Örneğin, kullanıcı kaydedildiğinde çalışacak bir metod şu şekilde tanımlanabilir:

CODE
12345public function created(User $user)
{
    // Kullanıcı e-posta gönderme işlemi burada yapılabilir
    Mail::to($user->email)->send(new WelcomeMail($user));
}


Observer'ı kullanabilmek için, ilgili modelde bu observer'ı kaydetmemiz gerekmektedir. Bunun için boot metodunu kullanarak observer'ı modelin boot methodu içinde kaydedebiliriz. Örneğin, User modelinde şu şekilde bir düzenleme yapabiliriz:

CODE
123456protected static function boot()
{
    parent::boot();
    
    static::observe(UserObserver::class);
}


Bu noktadan sonra, User modeline ait her bir olay, tanımladığımız observer metodlarını tetikleyecektir. Observer kullanımı, kodun daha temiz ve sürdürülebilir olmasını sağlar. Ayrıca, model ile iş mantığını ayırarak kod tekrarını önler.

Sonuç olarak, Laravel observer'lar, model olaylarını yönetmek için güçlü bir araçtır. Bu yapıyı kullanarak, uygulamanızda daha düzenli ve test edilebilir bir kod yapısı oluşturabilirsiniz. Geliştiricilerin bu özelliği etkin bir şekilde kullanmaları, uygulama geliştirme süreçlerini daha verimli hale getirecektir.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi