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

Breadcrumb

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

function ResolveEnvPlaceholdersPass::processValue

Overrides AbstractRecursivePass::processValue

File

vendor/symfony/dependency-injection/Compiler/ResolveEnvPlaceholdersPass.php, line 23

Class

ResolveEnvPlaceholdersPass
Replaces env var placeholders by their current values.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

protected function processValue(mixed $value, bool $isRoot = false) : mixed {
    if (\is_string($value)) {
        return $this->container
            ->resolveEnvPlaceholders($value, true);
    }
    if ($value instanceof Definition) {
        $changes = $value->getChanges();
        if (isset($changes['class'])) {
            $value->setClass($this->container
                ->resolveEnvPlaceholders($value->getClass(), true));
        }
        if (isset($changes['file'])) {
            $value->setFile($this->container
                ->resolveEnvPlaceholders($value->getFile(), true));
        }
    }
    $value = parent::processValue($value, $isRoot);
    if ($value && \is_array($value) && !$isRoot) {
        $value = array_combine($this->container
            ->resolveEnvPlaceholders(array_keys($value), true), $value);
    }
    return $value;
}
RSS feed
Powered by Drupal