src/EventListener/BookingEventListener.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Event\BookingEvent;
  4. use App\Service\Booking\EmailService;
  5. use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
  6. #[AsEventListener(eventBookingEvent::NAMEmethod'onBookingEvent')]
  7. class BookingEventListener
  8. {
  9.     private EmailService $emailService;
  10.     public function __construct(EmailService $emailService)
  11.     {
  12.         $this->emailService $emailService;
  13.     }
  14.     public function onBookingEvent(BookingEvent $event): void
  15.     {
  16.         // Récupère les informations nécessaires depuis l'événement
  17.         $booking $event->getBooking();
  18.         $oldBooking $event->getOldBooking();
  19.         $eventType $event->getEventType();
  20.         // Appelle le service EmailService pour gérer la notification
  21.         $this->emailService->handleBookingNotification($booking$oldBooking$eventType);
  22.     }
  23. }