function Target::__construct
@phpstan-param array{value?: string|list<string>} $values
Throws
InvalidArgumentException
File
-
core/
lib/ Drupal/ Component/ Annotation/ Doctrine/ Annotation/ Target.php, line 86
Class
- Target
- Annotation that can be used to signal to the parser to check the annotation target during the parsing process.
Namespace
Drupal\Component\Annotation\Doctrine\AnnotationCode
public function __construct(array $values) {
if (!isset($values['value'])) {
$values['value'] = null;
}
if (is_string($values['value'])) {
$values['value'] = [
$values['value'],
];
}
if (!is_array($values['value'])) {
throw new InvalidArgumentException(sprintf('@Target expects either a string value, or an array of strings, "%s" given.', is_object($values['value']) ? get_class($values['value']) : gettype($values['value'])));
}
$bitmask = 0;
foreach ($values['value'] as $literal) {
if (!isset(self::$map[$literal])) {
throw new InvalidArgumentException(sprintf('Invalid Target "%s". Available targets: [%s]', $literal, implode(', ', array_keys(self::$map))));
}
$bitmask |= self::$map[$literal];
}
$this->targets = $bitmask;
$this->value = $values['value'];
$this->literal = implode(', ', $this->value);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.