<?php
namespace AppBundle\DependencyInjection\Compiler;
use AppBundle\Doctrine\EntityListenerResolver;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class DoctrineEntityListenerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$definition = $container->getDefinition(EntityListenerResolver::DIC_ID);
$services = $container->findTaggedServiceIds('doctrine.entity_listener');
foreach ($services as $service => $attributes) {
$definition->addMethodCall(
'addMapping',
[$container->getDefinition($service)->getClass(), $service]
);
}
}
}