From 0d6c9b50fe6a17b3302da90eb09841e0cb8e0467 Mon Sep 17 00:00:00 2001 From: dsmink Date: Fri, 9 Feb 2018 13:27:46 +0100 Subject: [PATCH] Env var maps to undefined constant. When I try to use a constant as an environment variable, as described in the blog item, I run into the following problem. Env var "SOME_CONST" maps to undefined constant "App\\Util\\SomeClass::SOME_CONST". The proposed solution works for me, however, I'm not sure if this is the best and conform Symfony standards. Blog: https://symfony.com/blog/new-in-symfony-3-4-advanced-environment-variables --- src/Symfony/Component/DependencyInjection/EnvVarProcessor.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php index 76f9348e1deab..b69bd6d3bdd32 100644 --- a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php +++ b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php @@ -111,11 +111,13 @@ public function getEnv($prefix, $name, \Closure $getEnv) } if ('const' === $prefix) { + $env = \str_replace("\\\\","\\", $env); + if (!defined($env)) { throw new RuntimeException(sprintf('Env var "%s" maps to undefined constant "%s".', $name, $env)); } - return constant($name); + return constant($env); } if ('base64' === $prefix) {