src/AppBundle/Doctrine/EntityListenerResolver.php line 28

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Doctrine;
  3. use Doctrine\ORM\Mapping\DefaultEntityListenerResolver;
  4. use Symfony\Component\DependencyInjection\ContainerInterface;
  5. class EntityListenerResolver extends DefaultEntityListenerResolver
  6. {
  7.     const DIC_ID 'app.doctrine.entity_listener_resolver';
  8.     private $container;
  9.     private $mapping;
  10.     public function __construct(ContainerInterface $container)
  11.     {
  12.         $this->container $container;
  13.         $this->mapping = [];
  14.     }
  15.     public function addMapping($className$service)
  16.     {
  17.         $this->mapping[$className] = $service;
  18.     }
  19.     public function resolve($className)
  20.     {
  21.         if (isset($this->mapping[$className]) && $this->container->has($this->mapping[$className])) {
  22.             return $this->container->get($this->mapping[$className]);
  23.         }
  24.         return parent::resolve($className);
  25.     }
  26. }