Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ContainerBuilder.php

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\DependencyInjection

Code

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})"]);
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal