src/EventSubscriber/Course/PublishSubscriber.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber\Course;
  3. use App\Event\Course\PublishEvent;
  4. use App\Message\Course\Publish;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\Messenger\MessageBusInterface;
  7. class PublishSubscriber implements EventSubscriberInterface
  8. {
  9.     private MessageBusInterface $bus;
  10.     public function __construct(MessageBusInterface $bus)
  11.     {
  12.         $this->bus $bus;
  13.     }
  14.     public static function getSubscribedEvents()
  15.     {
  16.         return [
  17.             PublishEvent::NAME => 'publish',
  18.         ];
  19.     }
  20.     public function publish(PublishEvent $even): void
  21.     {
  22.         $this->bus->dispatch(new Publish($even->getCourse(), $even->getRequest()));
  23.     }
  24. }