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

Breadcrumb

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

function AutowireInline::buildDefinition

1 method overrides AutowireInline::buildDefinition()
AutowireCallable::buildDefinition in vendor/symfony/dependency-injection/Attribute/AutowireCallable.php

File

vendor/symfony/dependency-injection/Attribute/AutowireInline.php, line 47

Class

AutowireInline
Allows inline service definition for an argument.

Namespace

Symfony\Component\DependencyInjection\Attribute

Code

public function buildDefinition(mixed $value, ?string $type, \ReflectionParameter $parameter) : Definition {
    static $parseDefinition;
    static $yamlLoader;
    $parseDefinition ??= new \ReflectionMethod(YamlFileLoader::class, 'parseDefinition');
    $yamlLoader ??= $parseDefinition->getDeclaringClass()
        ->newInstanceWithoutConstructor();
    if (isset($value['factory'])) {
        $value['class'] = $type;
        $value['factory'][0] ??= $type;
        $value['factory'][1] ??= '__invoke';
    }
    $class = $parameter->getDeclaringClass();
    return $parseDefinition->invoke($yamlLoader, $class->name, $value, $class->getFileName(), [
        'autowire' => true,
    ], true);
}

API Navigation

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