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

Breadcrumb

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

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

ParentTrait

Namespace

Symfony\Component\DependencyInjection\Loader\Configurator\Traits

Code

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;
}

API Navigation

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