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

Breadcrumb

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

function PhpDumper::addServiceConfigurator

1 call to PhpDumper::addServiceConfigurator()
PhpDumper::addInlineService in vendor/symfony/dependency-injection/Dumper/PhpDumper.php

File

vendor/symfony/dependency-injection/Dumper/PhpDumper.php, line 793

Class

PhpDumper
PhpDumper dumps a service container as a PHP class.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function addServiceConfigurator(Definition $definition, string $variableName = 'instance') : string {
    if (!($callable = $definition->getConfigurator())) {
        return '';
    }
    if (\is_array($callable)) {
        if ($callable[0] instanceof Reference || $callable[0] instanceof Definition && $this->definitionVariables
            ->contains($callable[0])) {
            return \sprintf("        %s->%s(\$%s);\n", $this->dumpValue($callable[0]), $callable[1], $variableName);
        }
        $class = $this->dumpValue($callable[0]);
        // If the class is a string we can optimize away
        if (str_starts_with($class, "'") && !str_contains($class, '$')) {
            return \sprintf("        %s::%s(\$%s);\n", $this->dumpLiteralClass($class), $callable[1], $variableName);
        }
        if (str_starts_with($class, 'new ')) {
            return \sprintf("        (%s)->%s(\$%s);\n", $this->dumpValue($callable[0]), $callable[1], $variableName);
        }
        return \sprintf("        [%s, '%s'](\$%s);\n", $this->dumpValue($callable[0]), $callable[1], $variableName);
    }
    return \sprintf("        %s(\$%s);\n", $callable, $variableName);
}
RSS feed
Powered by Drupal