function ContainerBuilder::getEnv
Overrides Container::getEnv
2 calls to ContainerBuilder::getEnv()
- ContainerBuilder::getExpressionLanguage in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - ContainerBuilder::resolveEnvPlaceholders in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Resolves env parameter placeholders in a string or an array.
File
-
vendor/
symfony/ dependency-injection/ ContainerBuilder.php, line 1678
Class
- ContainerBuilder
- ContainerBuilder is a DI container that provides an API to easily describe services.
Namespace
Symfony\Component\DependencyInjectionCode
protected function getEnv(string $name) : mixed {
$value = parent::getEnv($name);
$bag = $this->getParameterBag();
if (!\is_string($value) || !$bag instanceof EnvPlaceholderParameterBag) {
return $value;
}
$envPlaceholders = $bag->getEnvPlaceholders();
if (isset($envPlaceholders[$name][$value])) {
$bag = new ParameterBag($bag->all());
return $bag->unescapeValue($bag->get("env({$name})"));
}
foreach ($envPlaceholders as $env => $placeholders) {
if (isset($placeholders[$value])) {
return $this->getEnv($env);
}
}
$this->resolving["env({$name})"] = true;
try {
return $bag->unescapeValue($this->resolveEnvPlaceholders($bag->escapeValue($value), true));
} finally {
unset($this->resolving["env({$name})"]);
}
}