diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index a8c4c707e..2cbef7b94 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -311,6 +311,7 @@ private function profilerSection(): ArrayNodeDefinition // @phpstan-ignore-next-line $node + ->{$this->debug ? 'canBeDisabled' : 'canBeEnabled'}() ->addDefaultsIfNotSet() ->children() ->scalarNode('query_match')->defaultNull()->end() diff --git a/src/DependencyInjection/OverblogGraphQLExtension.php b/src/DependencyInjection/OverblogGraphQLExtension.php index 82dfe196a..7191c3466 100644 --- a/src/DependencyInjection/OverblogGraphQLExtension.php +++ b/src/DependencyInjection/OverblogGraphQLExtension.php @@ -38,10 +38,10 @@ final class OverblogGraphQLExtension extends Extension { public function load(array $configs, ContainerBuilder $container): void { - $this->loadConfigFiles($container); $configuration = $this->getConfiguration($configs, $container); $config = $this->processConfiguration($configuration, $configs); + $this->loadConfigFiles($config, $container); $this->setBatchingMethod($config, $container); $this->setServicesAliases($config, $container); $this->setSchemaBuilderArguments($config, $container); @@ -75,7 +75,7 @@ public function getConfiguration(array $config, ContainerBuilder $container): Co ); } - private function loadConfigFiles(ContainerBuilder $container): void + private function loadConfigFiles(array $config, ContainerBuilder $container): void { $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yaml'); @@ -86,7 +86,10 @@ private function loadConfigFiles(ContainerBuilder $container): void $loader->load('expression_language_functions.yaml'); $loader->load('definition_config_processors.yaml'); $loader->load('aliases.yaml'); - $loader->load('profiler.yaml'); + + if ($config['profiler']['enabled']) { + $loader->load('profiler.yaml'); + } } private function registerForAutoconfiguration(ContainerBuilder $container): void @@ -143,6 +146,10 @@ private function setDefinitionParameters(array $config, ContainerBuilder $contai private function setProfilerParameters(array $config, ContainerBuilder $container): void { + if (!$config['profiler']['enabled']) { + return; + } + $container->setParameter($this->getAlias().'.profiler.query_match', $config['profiler']['query_match']); }