Laravel’de Events ve Listener Kullanımı

laravel'de events kullanımı

Laravel serimize devam ediyoruz. Bugünkü konumuz: Laravel’de Events ve Listener Kullanımı. Laravel’de events ve listener kullanımı konusunda elimizden geldiğince yardımcı olmaya çalışacağız.

1. Olay Sistemi Nedir?

Web uygulamalarında belirli olaylar gerçekleştiğinde tetiklenecek kodlar yazmak için olay sistemi kullanılır. Laravel, olay dinleyicileri ve yayınlayıcıları ile bu işlemi kolaylaştırır.

2. Blog Uygulaması Örneği:

Blog uygulamamızda aşağıdaki durumlarda olay tetiklemek ve dinlemek için Laravel’in olay sistemini kullanacağız:

  • Bir blog yazısı silindiğinde yorumları da silme
  • Bir yorum yapıldığında yorumu onaylama

3. Kurulum:

Olay sistemi işlemini kullanabilmek için herhangi bir paket kurmanıza gerek yoktur.

4. Events(Olaylar):

App\Events\PostDeleted.php ve App\Events\CommentCreated.php dosyalarında olayları tanımlayacağız:

PHP


class PostDeleted

{

use Dispatchable, InteractsWithSockets, SerializesModels;

public $post;

public function __construct(Post $post)

{

$this->post = $post;

}

}

class CommentCreated

{

use Dispatchable, InteractsWithSockets, SerializesModels;

public $comment;

public function __construct(Comment $comment)

{

$this->comment = $comment;

}

}

5. Listeners(Dinleyiciler):

App\Listeners\DeletePostComments.php ve App\Listeners\ApproveComment.php dosyalarında olaylara nasıl tepki verileceğini tanımlayacağız:

PHP


public function handle(PostDeleted $event)

{

$event->post->comments()->delete();

}

public function handle(CommentCreated $event)

{

$event->comment->approved = true;

$event->comment->save();

}

6. Yayınlama:

PostController.php ve CommentController.php dosyalarında olayları yayınlayacağız:

PHP


public function destroy(Post $post)

{

// ...

event(new PostDeleted($post));

}

public function store(Request $request)

{

// ...

event(new CommentCreated($comment));

}

7. Broadcasting:

Olayları gerçek zamanlı olarak web socketi ile kullanıcılara da gönderebilirsiniz. Laravel, Pusher gibi broadcasting sağlayıcıları ile entegre olarak bu işlemi kolaylaştırır.

Sonuç:

Bu yazıda, Laravel ile olay sistemi kurmayı nasıl kullanacağımıza dair detaylı bilgiler verdik. Blog uygulaması örneği üzerinden blog yazısı silme ve yorum onaylama gibi işlemler için Event ve Listener kavramlarını kullanarak olay tetikleme ve dinleme işlemini adım adım ele alarak, Laravel’in sunduğu olay sistemi araçlarının avantajlarını deneyimledik.

Ek Kaynaklar:

Bu blog yazı serisinde, Laravel’in temel özelliklerini ve kullanımını detaylı bir şekilde inceleyeceğiz. Takipte kalın!

Not: Bu yazı sadece basit bir örnektir. Gerçek bir blog uygulaması için daha fazla özellik ve işlev eklemeniz gerekir.

Serinin Devamı:

Bu blog yazı serisinde, Laravel mail gönderme ve Laravel’in temel ve ileri düzey özelliklerini detaylı bir şekilde inceleyeceğiz. Takipte kalarak Laravel ile web geliştirmenin keyfini çıkarabilirsiniz!

Bir yanıt yazın