class ParameterNotFoundException
This exception is thrown when a non-existent parameter is used.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException extends \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException implements \Symfony\Component\DependencyInjection\Exception\ExceptionInterface
- class \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException extends \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException implements \Symfony\Component\DependencyInjection\Exception\ExceptionInterface
- class \Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException extends \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException implements \Psr\Container\NotFoundExceptionInterface
- class \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException extends \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException implements \Symfony\Component\DependencyInjection\Exception\ExceptionInterface
Expanded class hierarchy of ParameterNotFoundException
11 files declare their use of ParameterNotFoundException
- AutowirePass.php in vendor/
symfony/ dependency-injection/ Compiler/ AutowirePass.php - Container.php in vendor/
symfony/ dependency-injection/ Container.php - Container.php in core/
lib/ Drupal/ Component/ DependencyInjection/ Container.php - ContainerBagInterface.php in vendor/
symfony/ dependency-injection/ ParameterBag/ ContainerBagInterface.php - ContainerBuilder.php in vendor/
symfony/ dependency-injection/ ContainerBuilder.php
File
-
vendor/
symfony/ dependency-injection/ Exception/ ParameterNotFoundException.php, line 21
Namespace
Symfony\Component\DependencyInjection\ExceptionView source
class ParameterNotFoundException extends InvalidArgumentException implements NotFoundExceptionInterface {
/**
* @param string $key The requested parameter key
* @param string|null $sourceId The service id that references the non-existent parameter
* @param string|null $sourceKey The parameter key that references the non-existent parameter
* @param \Throwable|null $previous The previous exception
* @param string[] $alternatives Some parameter name alternatives
* @param string|null $nonNestedAlternative The alternative parameter name when the user expected dot notation for nested parameters
*/
public function __construct(string $key, ?string $sourceId = null, ?string $sourceKey = null, ?\Throwable $previous = null, array $alternatives = [], ?string $nonNestedAlternative = null, ?string $sourceExtensionName = null, ?string $extraMessage = null) {
parent::__construct('', 0, $previous);
$this->updateRepr();
}
public function updateRepr() : void {
if (null !== $this->sourceId) {
$this->message = \sprintf('The service "%s" has a dependency on a non-existent parameter "%s".', $this->sourceId, $this->key);
}
elseif (null !== $this->sourceKey) {
$this->message = \sprintf('The parameter "%s" has a dependency on a non-existent parameter "%s".', $this->sourceKey, $this->key);
}
elseif (null !== $this->sourceExtensionName) {
$this->message = \sprintf('You have requested a non-existent parameter "%s" while loading extension "%s".', $this->key, $this->sourceExtensionName);
}
elseif ('.' === ($this->key[0] ?? '')) {
$this->message = \sprintf('Parameter "%s" not found. It was probably deleted during the compilation of the container.', $this->key);
}
else {
$this->message = \sprintf('You have requested a non-existent parameter "%s".', $this->key);
}
if ($this->alternatives) {
if (1 === \count($this->alternatives)) {
$this->message .= ' Did you mean this: "';
}
else {
$this->message .= ' Did you mean one of these: "';
}
$this->message .= implode('", "', $this->alternatives) . '"?';
}
elseif (null !== $this->nonNestedAlternative) {
$this->message .= ' You cannot access nested array items, do you want to inject "' . $this->nonNestedAlternative . '" instead?';
}
if ($this->extraMessage) {
$this->message .= ' ' . $this->extraMessage;
}
}
public function getKey() : string {
return $this->key;
}
public function getSourceId() : ?string {
return $this->sourceId;
}
public function getSourceKey() : ?string {
return $this->sourceKey;
}
public function setSourceId(?string $sourceId) : void {
$this->sourceId = $sourceId;
$this->updateRepr();
}
public function setSourceKey(?string $sourceKey) : void {
$this->sourceKey = $sourceKey;
$this->updateRepr();
}
public function setSourceExtensionName(?string $sourceExtensionName) : void {
$this->sourceExtensionName = $sourceExtensionName;
$this->updateRepr();
}
public function getExtraMessage() : ?string {
return $this->extraMessage;
}
public function setExtraMessage(?string $extraMessage) : void {
$this->extraMessage = $extraMessage;
$this->updateRepr();
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
ParameterNotFoundException::getExtraMessage | public | function | |
ParameterNotFoundException::getKey | public | function | |
ParameterNotFoundException::getSourceId | public | function | |
ParameterNotFoundException::getSourceKey | public | function | |
ParameterNotFoundException::setExtraMessage | public | function | |
ParameterNotFoundException::setSourceExtensionName | public | function | |
ParameterNotFoundException::setSourceId | public | function | |
ParameterNotFoundException::setSourceKey | public | function | |
ParameterNotFoundException::updateRepr | public | function | |
ParameterNotFoundException::__construct | public | function |