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

Breadcrumb

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

function ParameterBag::get

Same name in this branch
  1. 11.1.x vendor/symfony/http-foundation/ParameterBag.php \Symfony\Component\HttpFoundation\ParameterBag::get()

Overrides ParameterBagInterface::get

3 calls to ParameterBag::get()
EnvPlaceholderParameterBag::get in vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php
Gets a service container parameter.
EnvPlaceholderParameterBag::get in vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php
Gets a service container parameter.
ParameterBag::resolveString in vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php
Resolves parameters inside a string.
2 methods override ParameterBag::get()
ContainerBag::get in vendor/symfony/dependency-injection/ParameterBag/ContainerBag.php
Gets a service container parameter.
EnvPlaceholderParameterBag::get in vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php
Gets a service container parameter.

File

vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php, line 64

Class

ParameterBag
Holds parameters.

Namespace

Symfony\Component\DependencyInjection\ParameterBag

Code

public function get(string $name) : array|bool|string|int|float|\UnitEnum|null {
    if (!\array_key_exists($name, $this->parameters)) {
        if (!$name) {
            throw new ParameterNotFoundException($name);
        }
        if (\array_key_exists($name, $this->nonEmptyParameters)) {
            throw new ParameterNotFoundException($name, extraMessage: $this->nonEmptyParameters[$name]);
        }
        $alternatives = [];
        foreach ($this->parameters as $key => $parameterValue) {
            $lev = levenshtein($name, $key);
            if ($lev <= \strlen($name) / 3 || str_contains($key, $name)) {
                $alternatives[] = $key;
            }
        }
        $nonNestedAlternative = null;
        if (!\count($alternatives) && str_contains($name, '.')) {
            $namePartsLength = array_map('strlen', explode('.', $name));
            $key = substr($name, 0, -1 * (1 + array_pop($namePartsLength)));
            while (\count($namePartsLength)) {
                if ($this->has($key)) {
                    if (\is_array($this->get($key))) {
                        $nonNestedAlternative = $key;
                    }
                    break;
                }
                $key = substr($key, 0, -1 * (1 + array_pop($namePartsLength)));
            }
        }
        throw new ParameterNotFoundException($name, null, null, null, $alternatives, $nonNestedAlternative);
    }
    if (isset($this->deprecatedParameters[$name])) {
        trigger_deprecation(...$this->deprecatedParameters[$name]);
    }
    if (\array_key_exists($name, $this->nonEmptyParameters) && (null === $this->parameters[$name] || '' === $this->parameters[$name] || [] === $this->parameters[$name])) {
        throw new EmptyParameterValueException($this->nonEmptyParameters[$name]);
    }
    return $this->parameters[$name];
}

API Navigation

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