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

Breadcrumb

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

function PhpDumper::addServices

1 call to PhpDumper::addServices()
PhpDumper::dump in vendor/symfony/dependency-injection/Dumper/PhpDumper.php
Dumps the service container as a PHP class.

File

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

Class

PhpDumper
PhpDumper dumps a service container as a PHP class.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function addServices(?array &$services = null) : string {
    $publicServices = $privateServices = '';
    $definitions = $this->container
        ->getDefinitions();
    ksort($definitions);
    foreach ($definitions as $id => $definition) {
        if (!$definition->isSynthetic()) {
            $services[$id] = $this->addService($id, $definition);
        }
        elseif ($definition->hasTag($this->hotPathTag) || !$definition->hasTag($this->preloadTags[1])) {
            $services[$id] = null;
            foreach ($this->getClasses($definition, $id) as $class) {
                $this->preload[$class] = $class;
            }
        }
    }
    foreach ($definitions as $id => $definition) {
        if (!([
            $file,
            $code,
        ] = $services[$id]) || null !== $file) {
            continue;
        }
        if ($definition->isPublic()) {
            $publicServices .= $code;
        }
        elseif (!$this->isTrivialInstance($definition) || isset($this->locatedIds[$id])) {
            $privateServices .= $code;
        }
    }
    return $publicServices . $privateServices;
}
RSS feed
Powered by Drupal