moved the kernel listener compiler pass to HttpKernel to make it reusable (refs #6643)

This commit is contained in:
Fabien Potencier 2013-04-25 15:44:15 +02:00
parent 45f1a16b93
commit 5047227489
4 changed files with 16 additions and 12 deletions

View File

@ -4,6 +4,8 @@ CHANGELOG
2.3.0 2.3.0
----- -----
* [BC BREAK] the `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RegisterKernelListenersPass` was moved
to `Component\HttpKernel\DependencyInjection\RegisterListenersPass`
* added ControllerNameParser::build() to converts a controller short notation (a:b:c) to a class::method notation * added ControllerNameParser::build() to converts a controller short notation (a:b:c) to a class::method notation
* added possibility to run PHP built-in server in production environment * added possibility to run PHP built-in server in production environment
* added possibility to load the serializer component in the service container * added possibility to load the serializer component in the service container

View File

@ -15,7 +15,6 @@ use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddConstraintVal
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddValidatorInitializersPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddValidatorInitializersPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\FormPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\FormPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TemplatingPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TemplatingPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RegisterKernelListenersPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RoutingResolverPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RoutingResolverPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ProfilerPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ProfilerPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TranslatorPass; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\TranslatorPass;
@ -31,6 +30,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\PassConfig; use Symfony\Component\DependencyInjection\Compiler\PassConfig;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Bundle\Bundle; use Symfony\Component\HttpKernel\Bundle\Bundle;
use Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass;
/** /**
* Bundle. * Bundle.
@ -56,7 +56,7 @@ class FrameworkBundle extends Bundle
$container->addCompilerPass(new RoutingResolverPass()); $container->addCompilerPass(new RoutingResolverPass());
$container->addCompilerPass(new ProfilerPass()); $container->addCompilerPass(new ProfilerPass());
$container->addCompilerPass(new RegisterKernelListenersPass(), PassConfig::TYPE_AFTER_REMOVING); $container->addCompilerPass(new RegisterListenersPass(), PassConfig::TYPE_AFTER_REMOVING);
$container->addCompilerPass(new TemplatingPass()); $container->addCompilerPass(new TemplatingPass());
$container->addCompilerPass(new AddConstraintValidatorsPass()); $container->addCompilerPass(new AddConstraintValidatorsPass());
$container->addCompilerPass(new AddValidatorInitializersPass()); $container->addCompilerPass(new AddValidatorInitializersPass());

View File

@ -9,7 +9,7 @@
* file that was distributed with this source code. * file that was distributed with this source code.
*/ */
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler; namespace Symfony\Component\HttpKernel\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
@ -17,7 +17,7 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
/** /**
* Compiler pass to register tagged services for an event dispatcher. * Compiler pass to register tagged services for an event dispatcher.
*/ */
class RegisterKernelListenersPass implements CompilerPassInterface class RegisterListenersPass implements CompilerPassInterface
{ {
/** /**
* @var string * @var string
@ -35,9 +35,11 @@ class RegisterKernelListenersPass implements CompilerPassInterface
protected $subscriberTag; protected $subscriberTag;
/** /**
* Constructor.
*
* @param string $dispatcherService Service name of the event dispatcher in processed container * @param string $dispatcherService Service name of the event dispatcher in processed container
* @param string $listenerTag Tag name used for listener * @param string $listenerTag Tag name used for listener
* @param string $listenerTag Tag name used for subscribers * @param string $subscriberTag Tag name used for subscribers
*/ */
public function __construct($dispatcherService = 'event_dispatcher', $listenerTag = 'kernel.event_listener', $subscriberTag = 'kernel.event_subscriber') public function __construct($dispatcherService = 'event_dispatcher', $listenerTag = 'kernel.event_listener', $subscriberTag = 'kernel.event_subscriber')
{ {

View File

@ -9,13 +9,13 @@
* file that was distributed with this source code. * file that was distributed with this source code.
*/ */
namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler; namespace Symfony\Component\HttpKernel\Tests\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Definition;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RegisterKernelListenersPass; use Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass;
class RegisterKernelListenersPassTest extends \PHPUnit_Framework_TestCase class RegisterListenersPassTest extends \PHPUnit_Framework_TestCase
{ {
/** /**
* Tests that event subscribers not implementing EventSubscriberInterface * Tests that event subscribers not implementing EventSubscriberInterface
@ -49,7 +49,7 @@ class RegisterKernelListenersPassTest extends \PHPUnit_Framework_TestCase
->method('getDefinition') ->method('getDefinition')
->will($this->returnValue($definition)); ->will($this->returnValue($definition));
$registerListenersPass = new RegisterKernelListenersPass(); $registerListenersPass = new RegisterListenersPass();
$registerListenersPass->process($builder); $registerListenersPass->process($builder);
} }
@ -62,7 +62,7 @@ class RegisterKernelListenersPassTest extends \PHPUnit_Framework_TestCase
$definition = $this->getMock('Symfony\Component\DependencyInjection\Definition'); $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition');
$definition->expects($this->atLeastOnce()) $definition->expects($this->atLeastOnce())
->method('getClass') ->method('getClass')
->will($this->returnValue('Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\SubscriberService')); ->will($this->returnValue('Symfony\Component\HttpKernel\Tests\DependencyInjection\SubscriberService'));
$builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder'); $builder = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
$builder->expects($this->any()) $builder->expects($this->any())
@ -78,7 +78,7 @@ class RegisterKernelListenersPassTest extends \PHPUnit_Framework_TestCase
->method('getDefinition') ->method('getDefinition')
->will($this->returnValue($definition)); ->will($this->returnValue($definition));
$registerListenersPass = new RegisterKernelListenersPass(); $registerListenersPass = new RegisterListenersPass();
$registerListenersPass->process($builder); $registerListenersPass->process($builder);
} }
} }