diff --git a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php index 1ec3ba323b..cb4a4816db 100644 --- a/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php +++ b/src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php @@ -109,15 +109,12 @@ class RegisterEventListenersAndSubscribersPass implements CompilerPassInterface throw new RuntimeException(sprintf('The Doctrine connection "%s" referenced in service "%s" does not exist. Available connections names: %s', $con, $id, implode(', ', array_keys($this->connections)))); } - if ($lazy = isset($tag['lazy']) && $tag['lazy']) { + if ($lazy = !empty($tag['lazy'])) { $taggedListenerDef->setPublic(true); } // we add one call per event per service so we have the correct order - $this->getEventManagerDef($container, $con)->addMethodCall('addEventListener', array( - $tag['event'], - $lazy ? $id : new Reference($id), - )); + $this->getEventManagerDef($container, $con)->addMethodCall('addEventListener', array(array($tag['event']), $lazy ? $id : new Reference($id))); } } } diff --git a/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php b/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php index 6e4eb20298..7e99a7d935 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php @@ -90,11 +90,11 @@ class RegisterEventListenersAndSubscribersPassTest extends TestCase $this->assertEquals( array( - array('addEventListener', array('foo_bar', new Reference('c'))), - array('addEventListener', array('foo_bar', new Reference('a'))), - array('addEventListener', array('bar', new Reference('a'))), - array('addEventListener', array('foo', new Reference('b'))), - array('addEventListener', array('foo', new Reference('a'))), + array('addEventListener', array(array('foo_bar'), new Reference('c'))), + array('addEventListener', array(array('foo_bar'), new Reference('a'))), + array('addEventListener', array(array('bar'), new Reference('a'))), + array('addEventListener', array(array('foo'), new Reference('b'))), + array('addEventListener', array(array('foo'), new Reference('a'))), ), $methodCalls ); @@ -138,16 +138,16 @@ class RegisterEventListenersAndSubscribersPassTest extends TestCase $this->assertEquals( array( - array('addEventListener', array('onFlush', new Reference('a'))), - array('addEventListener', array('onFlush', new Reference('b'))), + array('addEventListener', array(array('onFlush'), new Reference('a'))), + array('addEventListener', array(array('onFlush'), new Reference('b'))), ), $container->getDefinition('doctrine.dbal.default_connection.event_manager')->getMethodCalls() ); $this->assertEquals( array( - array('addEventListener', array('onFlush', new Reference('a'))), - array('addEventListener', array('onFlush', new Reference('c'))), + array('addEventListener', array(array('onFlush'), new Reference('a'))), + array('addEventListener', array(array('onFlush'), new Reference('c'))), ), $container->getDefinition('doctrine.dbal.second_connection.event_manager')->getMethodCalls() );