From b1f507260aa9fe9dcdd87184deaaa1aea6ce7189 Mon Sep 17 00:00:00 2001 From: Oleg Voronkovich Date: Tue, 30 May 2017 20:42:15 +0300 Subject: [PATCH 1/2] [DependencyInjection] Use more clear message when unused environment variables detected --- .../Component/DependencyInjection/Compiler/Compiler.php | 2 +- .../Component/DependencyInjection/Dumper/PhpDumper.php | 2 +- .../DependencyInjection/Exception/EnvParameterException.php | 4 ++-- .../DependencyInjection/Tests/Dumper/PhpDumperTest.php | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php b/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php index cd49e7b82e179..6fd53f1b0eb60 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php @@ -134,7 +134,7 @@ public function compile(ContainerBuilder $container) } while ($prev = $prev->getPrevious()); if ($usedEnvs) { - $e = new EnvParameterException($usedEnvs, $e); + $e = new EnvParameterException($usedEnvs, 'Incompatible use of dynamic environment variables "%s" found in parameters.', $e); } throw $e; diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 4431418d85848..90db507ca0e63 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -166,7 +166,7 @@ public function dump(array $options = array()) } } if ($unusedEnvs) { - throw new EnvParameterException($unusedEnvs); + throw new EnvParameterException($unusedEnvs, 'Environment variables "%s" are never used. Please, check your container\'s configuration.'); } return $code; diff --git a/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php b/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php index 44dbab45b6284..f3b3f5da221de 100644 --- a/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php +++ b/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php @@ -18,8 +18,8 @@ */ class EnvParameterException extends InvalidArgumentException { - public function __construct(array $usedEnvs, \Exception $previous = null) + public function __construct(array $envs, $message, \Exception $previous = null) { - parent::__construct(sprintf('Incompatible use of dynamic environment variables "%s" found in parameters.', implode('", "', $usedEnvs)), 0, $previous); + parent::__construct(sprintf($message, implode('", "', $envs)), 0, $previous); } } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php index 2ad701aa6d327..ee81219ef01d0 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php @@ -302,7 +302,7 @@ public function testEnvParameter() /** * @expectedException \Symfony\Component\DependencyInjection\Exception\EnvParameterException - * @expectedExceptionMessage Incompatible use of dynamic environment variables "FOO" found in parameters. + * @expectedExceptionMessage Environment variables "FOO" are never used. Please, check your container's configuration. */ public function testUnusedEnvParameter() { From 9e77f0dd553bb6b9bd7b68b2c5e452970e02df1e Mon Sep 17 00:00:00 2001 From: Oleg Voronkovich Date: Sat, 3 Jun 2017 17:43:14 +0300 Subject: [PATCH 2/2] Return back old arguments order to avoid BC break --- src/Symfony/Component/DependencyInjection/Compiler/Compiler.php | 2 +- src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php | 2 +- .../DependencyInjection/Exception/EnvParameterException.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php b/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php index 6fd53f1b0eb60..cd49e7b82e179 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php @@ -134,7 +134,7 @@ public function compile(ContainerBuilder $container) } while ($prev = $prev->getPrevious()); if ($usedEnvs) { - $e = new EnvParameterException($usedEnvs, 'Incompatible use of dynamic environment variables "%s" found in parameters.', $e); + $e = new EnvParameterException($usedEnvs, $e); } throw $e; diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 90db507ca0e63..dd514962ea47c 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -166,7 +166,7 @@ public function dump(array $options = array()) } } if ($unusedEnvs) { - throw new EnvParameterException($unusedEnvs, 'Environment variables "%s" are never used. Please, check your container\'s configuration.'); + throw new EnvParameterException($unusedEnvs, null, 'Environment variables "%s" are never used. Please, check your container\'s configuration.'); } return $code; diff --git a/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php b/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php index f3b3f5da221de..3839a4633be40 100644 --- a/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php +++ b/src/Symfony/Component/DependencyInjection/Exception/EnvParameterException.php @@ -18,7 +18,7 @@ */ class EnvParameterException extends InvalidArgumentException { - public function __construct(array $envs, $message, \Exception $previous = null) + public function __construct(array $envs, \Exception $previous = null, $message = 'Incompatible use of dynamic environment variables "%s" found in parameters.') { parent::__construct(sprintf($message, implode('", "', $envs)), 0, $previous); }