vendor/abcpremium/data-object-quality-bundle/src/Event/Subscriber/InvalidateCacheOnClassSave.php line 30

Open in your IDE?
  1. <?php
  2. namespace Abcpremium\DataObjectQualityBundle\Event\Subscriber;
  3. use Abcpremium\DataObjectQualityBundle\Cache\BundleCache;
  4. use Pimcore\Event\DataObjectClassDefinitionEvents;
  5. use Pimcore\Event\Model\DataObject\ClassDefinitionEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class InvalidateCacheOnClassSave implements EventSubscriberInterface
  8. {
  9.     private BundleCache $cache;
  10.     public function __construct(
  11.         BundleCache $cache
  12.     ) {
  13.         $this->cache $cache;
  14.     }
  15.     /**
  16.      * {@inheritDoc}
  17.      */
  18.     public static function getSubscribedEvents(): array
  19.     {
  20.         return [
  21.             DataObjectClassDefinitionEvents::POST_UPDATE => 'invalidateClassCacheTags',
  22.         ];
  23.     }
  24.     public function invalidateClassCacheTags(ClassDefinitionEvent $event): void
  25.     {
  26.         $classId $event->getClassDefinition()->getId();
  27.         $this->cache->deleteCachesByClassId($classId);
  28.         return;
  29.     }
  30. }