<?php
namespace App\Listener;
use App\Entity\StoreImage;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\OptimisticLockException;
use Doctrine\ORM\ORMException;
use Vich\UploaderBundle\Event\Event;
/**
* Delete entity representation file (like StoreImage) when image_path is cleared
* Class VichUploaderListener
* @package App\Listener
*/
class VichUploaderListener
{
private $em;
/**
* constructor
* @param EntityManager $em
*/
public function __construct(EntityManager $em)
{
$this->em = $em;
}
/**
* @param Event $event
* @throws ORMException
* @throws OptimisticLockException
*/
public function onPostRemove(Event $event)
{
$removedFile = $event->getObject();
if($removedFile instanceof StoreImage && $removedFile->getStorePage()){
$this->em->remove($removedFile);
}
}
}