private function YamlDumper::addService

Adds a service

Parameters

string $id:

Definition $definition:

Return value

string

1 call to YamlDumper::addService()
YamlDumper::addServices in drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php
Adds services

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php, line 70

Class

YamlDumper
YamlDumper dumps a service container as a YAML string.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function addService($id, $definition) {
  $code = "    {$id}:\n";
  if ($definition
    ->getClass()) {
    $code .= sprintf("        class: %s\n", $definition
      ->getClass());
  }
  $tagsCode = '';
  foreach ($definition
    ->getTags() as $name => $tags) {
    foreach ($tags as $attributes) {
      $att = array();
      foreach ($attributes as $key => $value) {
        $att[] = sprintf('%s: %s', $this->dumper
          ->dump($key), $this->dumper
          ->dump($value));
      }
      $att = $att ? ', ' . implode(' ', $att) : '';
      $tagsCode .= sprintf("            - { name: %s%s }\n", $this->dumper
        ->dump($name), $att);
    }
  }
  if ($tagsCode) {
    $code .= "        tags:\n" . $tagsCode;
  }
  if ($definition
    ->getFile()) {
    $code .= sprintf("        file: %s\n", $definition
      ->getFile());
  }
  if ($definition
    ->isSynthetic()) {
    $code .= sprintf("        synthetic: true\n");
  }
  if ($definition
    ->isSynchronized()) {
    $code .= sprintf("        synchronized: true\n");
  }
  if ($definition
    ->getFactoryClass()) {
    $code .= sprintf("        factory_class: %s\n", $definition
      ->getFactoryClass());
  }
  if ($definition
    ->isLazy()) {
    $code .= sprintf("        lazy: true\n");
  }
  if ($definition
    ->getFactoryMethod()) {
    $code .= sprintf("        factory_method: %s\n", $definition
      ->getFactoryMethod());
  }
  if ($definition
    ->getFactoryService()) {
    $code .= sprintf("        factory_service: %s\n", $definition
      ->getFactoryService());
  }
  if ($definition
    ->getArguments()) {
    $code .= sprintf("        arguments: %s\n", $this->dumper
      ->dump($this
      ->dumpValue($definition
      ->getArguments()), 0));
  }
  if ($definition
    ->getProperties()) {
    $code .= sprintf("        properties: %s\n", $this->dumper
      ->dump($this
      ->dumpValue($definition
      ->getProperties()), 0));
  }
  if ($definition
    ->getMethodCalls()) {
    $code .= sprintf("        calls:\n%s\n", $this->dumper
      ->dump($this
      ->dumpValue($definition
      ->getMethodCalls()), 1, 12));
  }
  if (ContainerInterface::SCOPE_CONTAINER !== ($scope = $definition
    ->getScope())) {
    $code .= sprintf("        scope: %s\n", $scope);
  }
  if ($callable = $definition
    ->getConfigurator()) {
    if (is_array($callable)) {
      if ($callable[0] instanceof Reference) {
        $callable = array(
          $this
            ->getServiceCall((string) $callable[0], $callable[0]),
          $callable[1],
        );
      }
      else {
        $callable = array(
          $callable[0],
          $callable[1],
        );
      }
    }
    $code .= sprintf("        configurator: %s\n", $this->dumper
      ->dump($callable, 0));
  }
  return $code;
}