src/Listener/VichUploaderListener.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Listener;
  3. use App\Entity\StoreImage;
  4. use Doctrine\ORM\EntityManager;
  5. use Doctrine\ORM\OptimisticLockException;
  6. use Doctrine\ORM\ORMException;
  7. use Vich\UploaderBundle\Event\Event;
  8. /**
  9.  * Delete entity representation file (like StoreImage) when image_path is cleared
  10.  * Class VichUploaderListener
  11.  * @package App\Listener
  12.  */
  13. class VichUploaderListener
  14. {
  15.     private $em;
  16.     /**
  17.      * constructor
  18.      * @param EntityManager $em
  19.      */
  20.     public function __construct(EntityManager $em)
  21.     {
  22.         $this->em $em;
  23.     }
  24.     /**
  25.      * @param Event $event
  26.      * @throws ORMException
  27.      * @throws OptimisticLockException
  28.      */
  29.     public function onPostRemove(Event $event)
  30.     {
  31.         $removedFile $event->getObject();
  32.         if($removedFile instanceof StoreImage && $removedFile->getStorePage()){
  33.             $this->em->remove($removedFile);
  34.         }
  35.     }
  36. }