src/V4/EventSubscriber/Tag/EntityChangedSubscriber.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\V4\EventSubscriber\Tag;
  3. use App\V4\Enum\EntityChangedEventTypeEnum;
  4. use App\V4\Event\PostPersistEvent;
  5. use App\V4\Event\PostRemoveEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class EntityChangedSubscriber extends AbstractEntityChangedSubscriber implements EventSubscriberInterface
  8. {
  9.     public static function getSubscribedEvents(): array
  10.     {
  11.         return [
  12.             PostPersistEvent::NAME => 'onPostPersist',
  13.             PostRemoveEvent::NAME => 'onPostRemove',
  14.         ];
  15.     }
  16.     public function onPostPersist(PostPersistEvent $event): void
  17.     {
  18.         $entity $event->getAfter();
  19.         $eventType null === $event->getBefore()
  20.             ? EntityChangedEventTypeEnum::EVENT_TYPE_CREATED
  21.             EntityChangedEventTypeEnum::EVENT_TYPE_UPDATED;
  22.         $this->dispatchNotification($entity$eventType);
  23.     }
  24.     public function onPostRemove(PostRemoveEvent $event): void
  25.     {
  26.         $entity $event->getAfter();
  27.         $this->dispatchNotification($entityEntityChangedEventTypeEnum::EVENT_TYPE_DELETED);
  28.     }
  29. }