name: ParameterBag class_comment: '# * Holds parameters. # * # * @author Fabien Potencier ' dependencies: - name: InvalidArgumentException type: class source: Symfony\Component\DependencyInjection\Exception\InvalidArgumentException - name: ParameterCircularReferenceException type: class source: Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException - name: ParameterNotFoundException type: class source: Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException - name: RuntimeException type: class source: Symfony\Component\DependencyInjection\Exception\RuntimeException properties: [] methods: - name: deprecate visibility: public parameters: - name: name - name: package - name: version - name: message default: '''The parameter "%s" is deprecated.''' comment: "# * Holds parameters.\n# *\n# * @author Fabien Potencier \n\ # */\n# class ParameterBag implements ParameterBagInterface\n# {\n# protected\ \ array $parameters = [];\n# protected bool $resolved = false;\n# protected array\ \ $deprecatedParameters = [];\n# \n# public function __construct(array $parameters\ \ = [])\n# {\n# $this->add($parameters);\n# }\n# \n# public function clear():\ \ void\n# {\n# $this->parameters = [];\n# }\n# \n# public function add(array $parameters):\ \ void\n# {\n# foreach ($parameters as $key => $value) {\n# $this->set($key, $value);\n\ # }\n# }\n# \n# public function all(): array\n# {\n# return $this->parameters;\n\ # }\n# \n# public function allDeprecated(): array\n# {\n# return $this->deprecatedParameters;\n\ # }\n# \n# public function get(string $name): array|bool|string|int|float|\\UnitEnum|null\n\ # {\n# if (!\\array_key_exists($name, $this->parameters)) {\n# if (!$name) {\n\ # throw new ParameterNotFoundException($name);\n# }\n# \n# $alternatives = [];\n\ # foreach ($this->parameters as $key => $parameterValue) {\n# $lev = levenshtein($name,\ \ $key);\n# if ($lev <= \\strlen($name) / 3 || str_contains($key, $name)) {\n\ # $alternatives[] = $key;\n# }\n# }\n# \n# $nonNestedAlternative = null;\n# if\ \ (!\\count($alternatives) && str_contains($name, '.')) {\n# $namePartsLength\ \ = array_map('strlen', explode('.', $name));\n# $key = substr($name, 0, -1 *\ \ (1 + array_pop($namePartsLength)));\n# while (\\count($namePartsLength)) {\n\ # if ($this->has($key)) {\n# if (\\is_array($this->get($key))) {\n# $nonNestedAlternative\ \ = $key;\n# }\n# break;\n# }\n# \n# $key = substr($key, 0, -1 * (1 + array_pop($namePartsLength)));\n\ # }\n# }\n# \n# throw new ParameterNotFoundException($name, null, null, null,\ \ $alternatives, $nonNestedAlternative);\n# }\n# \n# if (isset($this->deprecatedParameters[$name]))\ \ {\n# trigger_deprecation(...$this->deprecatedParameters[$name]);\n# }\n# \n\ # return $this->parameters[$name];\n# }\n# \n# public function set(string $name,\ \ array|bool|string|int|float|\\UnitEnum|null $value): void\n# {\n# if (is_numeric($name))\ \ {\n# throw new InvalidArgumentException(\\sprintf('The parameter name \"%s\"\ \ cannot be numeric.', $name));\n# }\n# \n# $this->parameters[$name] = $value;\n\ # }\n# \n# /**\n# * Deprecates a service container parameter.\n# *\n# * @throws\ \ ParameterNotFoundException if the parameter is not defined" - name: has visibility: public parameters: - name: name comment: null - name: remove visibility: public parameters: - name: name comment: null - name: resolve visibility: public parameters: [] comment: null - name: resolveValue visibility: public parameters: - name: value - name: resolving default: '[]' comment: '# * Replaces parameter placeholders (%name%) by their values. # * # * @template TValue of array|scalar # * # * @param TValue $value # * @param array $resolving An array of keys that are being resolved (used internally to detect circular references) # * # * @psalm-return (TValue is scalar ? array|scalar : array) # * # * @throws ParameterNotFoundException if a placeholder references a parameter that does not exist # * @throws ParameterCircularReferenceException if a circular reference if detected # * @throws RuntimeException when a given parameter has a type problem' - name: resolveString visibility: public parameters: - name: value - name: resolving default: '[]' comment: '# * Resolves parameters inside a string. # * # * @param array $resolving An array of keys that are being resolved (used internally to detect circular references) # * # * @throws ParameterNotFoundException if a placeholder references a parameter that does not exist # * @throws ParameterCircularReferenceException if a circular reference if detected # * @throws RuntimeException when a given parameter has a type problem' - name: isResolved visibility: public parameters: [] comment: null - name: escapeValue visibility: public parameters: - name: value comment: null - name: unescapeValue visibility: public parameters: - name: value comment: null traits: - Symfony\Component\DependencyInjection\Exception\InvalidArgumentException - Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException - Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException - Symfony\Component\DependencyInjection\Exception\RuntimeException interfaces: - ParameterBagInterface