From ea5fd14155ec1ab8c45857c6155754c8d71a9784 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Sat, 2 Apr 2016 18:51:07 +0100 Subject: [PATCH] Simplify service definitions --- .../Plugin/ArgumentResolverPlugin.php | 13 ++++++------- src/ServiceContainer/Plugin/BuzzPlugin.php | 10 +++------- src/ServiceContainer/Plugin/DiscoveryPlugin.php | 6 ++---- .../Plugin/GuzzleMessageFactoryPlugin.php | 8 ++------ src/ServiceContainer/Plugin/GuzzlePlugin.php | 7 +++---- 5 files changed, 16 insertions(+), 28 deletions(-) diff --git a/src/ServiceContainer/Plugin/ArgumentResolverPlugin.php b/src/ServiceContainer/Plugin/ArgumentResolverPlugin.php index 188734a..592a0dd 100644 --- a/src/ServiceContainer/Plugin/ArgumentResolverPlugin.php +++ b/src/ServiceContainer/Plugin/ArgumentResolverPlugin.php @@ -4,7 +4,6 @@ use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; use Zalas\Behat\RestExtension\Context\Argument\HttpClientArgumentResolver; use Zalas\Behat\RestExtension\Context\Argument\MessageFactoryArgumentResolver; @@ -34,9 +33,9 @@ public function configure(ArrayNodeDefinition $builder) */ private function registerHttpClientFactoryArgumentResolver(ContainerBuilder $container) { - $definition = new Definition(HttpClientArgumentResolver::class, [new Reference('rest.http_client')]); - $definition->addTag('context.argument_resolver'); - $container->setDefinition('rest.argument_resolver.http_client', $definition); + $container->register('rest.argument_resolver.http_client', HttpClientArgumentResolver::class) + ->addArgument(new Reference('rest.http_client')) + ->addTag('context.argument_resolver'); } /** @@ -44,8 +43,8 @@ private function registerHttpClientFactoryArgumentResolver(ContainerBuilder $con */ private function registerMessageFactoryArgumentResolver(ContainerBuilder $container) { - $definition = new Definition(MessageFactoryArgumentResolver::class, [new Reference('rest.message_factory')]); - $definition->addTag('context.argument_resolver'); - $container->setDefinition('rest.argument_resolver.message_factory', $definition); + $container->register('rest.argument_resolver.message_factory', MessageFactoryArgumentResolver::class) + ->addArgument(new Reference('rest.message_factory')) + ->addTag('context.argument_resolver'); } } diff --git a/src/ServiceContainer/Plugin/BuzzPlugin.php b/src/ServiceContainer/Plugin/BuzzPlugin.php index c97a319..84dcbe6 100644 --- a/src/ServiceContainer/Plugin/BuzzPlugin.php +++ b/src/ServiceContainer/Plugin/BuzzPlugin.php @@ -6,7 +6,6 @@ use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; use Zalas\Behat\RestExtension\HttpClient\BuzzHttpClientFactory; use Zalas\Behat\RestExtension\ServiceContainer\Plugin; @@ -27,12 +26,9 @@ public function load(ContainerBuilder $container, array $config) throw new \RuntimeException('To use the Buzz http client you need to install the "php-http/buzz-adapter" package.'); } - $definition = new Definition( - BuzzHttpClientFactory::class, - [new Reference('rest.message_factory', ContainerInterface::NULL_ON_INVALID_REFERENCE)] - ); - $definition->addTag('rest.http_client_factory'); - $container->setDefinition('rest.http_client_factory.buzz', $definition); + $container->register('rest.http_client_factory.buzz', BuzzHttpClientFactory::class) + ->addArgument(new Reference('rest.message_factory', ContainerInterface::NULL_ON_INVALID_REFERENCE)) + ->addTag('rest.http_client_factory'); } /** diff --git a/src/ServiceContainer/Plugin/DiscoveryPlugin.php b/src/ServiceContainer/Plugin/DiscoveryPlugin.php index d816b38..ff95788 100644 --- a/src/ServiceContainer/Plugin/DiscoveryPlugin.php +++ b/src/ServiceContainer/Plugin/DiscoveryPlugin.php @@ -5,7 +5,6 @@ use Http\Discovery\HttpClientDiscovery; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; use Zalas\Behat\RestExtension\HttpClient\DiscoveryHttpClientFactory; use Zalas\Behat\RestExtension\ServiceContainer\Plugin; @@ -21,9 +20,8 @@ public function load(ContainerBuilder $container, array $config) return; } - $definition = new Definition(DiscoveryHttpClientFactory::class); - $definition->addTag('rest.http_client_factory'); - $container->setDefinition('rest.http_client_factory.discovery', $definition); + $container->register('rest.http_client_factory.discovery', DiscoveryHttpClientFactory::class) + ->addTag('rest.http_client_factory'); } /** diff --git a/src/ServiceContainer/Plugin/GuzzleMessageFactoryPlugin.php b/src/ServiceContainer/Plugin/GuzzleMessageFactoryPlugin.php index 3a07258..a043070 100644 --- a/src/ServiceContainer/Plugin/GuzzleMessageFactoryPlugin.php +++ b/src/ServiceContainer/Plugin/GuzzleMessageFactoryPlugin.php @@ -6,7 +6,6 @@ use Http\Message\MessageFactory\GuzzleMessageFactory; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; use Zalas\Behat\RestExtension\ServiceContainer\Plugin; final class GuzzleMessageFactoryPlugin implements Plugin @@ -14,8 +13,6 @@ final class GuzzleMessageFactoryPlugin implements Plugin /** * @param ContainerBuilder $container * @param array $config - * - * @return Definition */ public function load(ContainerBuilder $container, array $config) { @@ -23,9 +20,8 @@ public function load(ContainerBuilder $container, array $config) return; } - $definition = new Definition(GuzzleMessageFactory::class); - $definition->addTag('rest.message_factory'); - $container->setDefinition('rest.message_factory.guzzle', $definition); + $container->register('rest.message_factory.guzzle', GuzzleMessageFactory::class) + ->addTag('rest.message_factory'); } /** diff --git a/src/ServiceContainer/Plugin/GuzzlePlugin.php b/src/ServiceContainer/Plugin/GuzzlePlugin.php index cbccad0..1a688b6 100644 --- a/src/ServiceContainer/Plugin/GuzzlePlugin.php +++ b/src/ServiceContainer/Plugin/GuzzlePlugin.php @@ -5,7 +5,6 @@ use Http\Adapter\Guzzle6\Client as GuzzleAdapter; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; use Zalas\Behat\RestExtension\HttpClient\GuzzleHttpClientFactory; use Zalas\Behat\RestExtension\ServiceContainer\Plugin; @@ -25,9 +24,9 @@ public function load(ContainerBuilder $container, array $config) throw new \RuntimeException('To use the Guzzle http client you need to install the "php-http/guzzle6-adapter" package.'); } - $definition = new Definition(GuzzleHttpClientFactory::class, [$config['guzzle']['config']]); - $definition->addTag('rest.http_client_factory'); - $container->setDefinition('rest.http_client_factory.guzzle', $definition); + $container->register('rest.http_client_factory.guzzle', GuzzleHttpClientFactory::class) + ->addArgument($config['guzzle']['config']) + ->addTag('rest.http_client_factory'); } /**