function ParentTrait::parent
Sets the Definition to inherit from.
Return value
$this
Throws
InvalidArgumentException when parent cannot be set
File
-
vendor/
symfony/ dependency-injection/ Loader/ Configurator/ Traits/ ParentTrait.php, line 26
Class
Namespace
Symfony\Component\DependencyInjection\Loader\Configurator\TraitsCode
public final function parent(string $parent) : static {
if (!$this->allowParent) {
throw new InvalidArgumentException(\sprintf('A parent cannot be defined when either "_instanceof" or "_defaults" are also defined for service prototype "%s".', $this->id));
}
if ($this->definition instanceof ChildDefinition) {
$this->definition
->setParent($parent);
}
else {
// cast Definition to ChildDefinition
$definition = serialize($this->definition);
$definition = substr_replace($definition, '53', 2, 2);
$definition = substr_replace($definition, 'Child', 44, 0);
$definition = unserialize($definition);
$this->definition = $definition->setParent($parent);
}
return $this;
}