From 2251158fe2a6681c4caa6fbd3a742afa9c9df066 Mon Sep 17 00:00:00 2001 From: Jeremiah VALERIE Date: Tue, 2 May 2017 16:30:27 +0200 Subject: [PATCH] Remove expression language parser deprecation message for sf >= 3.2 --- DependencyInjection/OverblogGraphQLExtension.php | 13 +++++++++++++ ExpressionLanguage/ExpressionLanguage.php | 9 ++++++++- Resources/config/services.yml | 4 ---- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/DependencyInjection/OverblogGraphQLExtension.php b/DependencyInjection/OverblogGraphQLExtension.php index de4c7c9b6..3a56ebff4 100644 --- a/DependencyInjection/OverblogGraphQLExtension.php +++ b/DependencyInjection/OverblogGraphQLExtension.php @@ -19,6 +19,7 @@ use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\HttpKernel\DependencyInjection\Extension; +use Symfony\Component\HttpKernel\Kernel; class OverblogGraphQLExtension extends Extension implements PrependExtensionInterface { @@ -31,6 +32,7 @@ public function load(array $configs, ContainerBuilder $container) $config = $this->treatConfigs($configs, $container); + $this->setExpressionLanguageDefaultParser($container); $this->setServicesAliases($config, $container); $this->setSchemaBuilderArguments($config, $container); $this->setSchemaArguments($config, $container); @@ -55,6 +57,17 @@ public function prepend(ContainerBuilder $container) $typesExtension->containerPrependExtensionConfig($config, $container); } + private function setExpressionLanguageDefaultParser(ContainerBuilder $container) + { + $class = version_compare(Kernel::VERSION, '3.2.0', '>=') ? + 'Symfony\\Component\\Cache\Adapter\\ArrayAdapter' + : 'Symfony\\Component\\ExpressionLanguage\\ParserCache\\ArrayParserCache' + ; + $definition = new Definition($class); + $definition->setPublic(false); + $container->setDefinition($this->getAlias().'.cache_expression_language_parser.default', $definition); + } + private function setShowDebug(array $config, ContainerBuilder $container) { $container->getDefinition($this->getAlias().'.request_executor')->replaceArgument(4, $config['definitions']['show_debug_info']); diff --git a/ExpressionLanguage/ExpressionLanguage.php b/ExpressionLanguage/ExpressionLanguage.php index a1d63a380..0be527df8 100644 --- a/ExpressionLanguage/ExpressionLanguage.php +++ b/ExpressionLanguage/ExpressionLanguage.php @@ -11,6 +11,7 @@ namespace Overblog\GraphQLBundle\ExpressionLanguage; +use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\DependencyInjection\ContainerAwareTrait; use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage; use Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface; @@ -19,7 +20,13 @@ class ExpressionLanguage extends BaseExpressionLanguage { use ContainerAwareTrait; - public function __construct(ParserCacheInterface $parser = null, array $providers = []) + /** + * ExpressionLanguage constructor. + * + * @param CacheItemPoolInterface|ParserCacheInterface|null $parser + * @param array $providers + */ + public function __construct($parser = null, array $providers = []) { // prepend the default provider to let users override it easily array_unshift($providers, new ConfigExpressionProvider()); diff --git a/Resources/config/services.yml b/Resources/config/services.yml index ed11bd8f1..764a7116e 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -57,10 +57,6 @@ services: arguments: - "@overblog_graphql.promise_adapter" - overblog_graphql.cache_expression_language_parser.default: - class: Symfony\Component\ExpressionLanguage\ParserCache\ArrayParserCache - public: false - overblog_graphql.expression_language.default: class: Overblog\GraphQLBundle\ExpressionLanguage\ExpressionLanguage public: false