diff --git a/core/lib/Drupal/Core/DependencyInjection/Dumper/PhpArrayDumper.php b/core/lib/Drupal/Core/DependencyInjection/Dumper/PhpArrayDumper.php index 20c9df8..498803c 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Dumper/PhpArrayDumper.php +++ b/core/lib/Drupal/Core/DependencyInjection/Dumper/PhpArrayDumper.php @@ -84,7 +84,7 @@ protected function getServiceDefinitions() while (isset($aliases[(string) $id])) { $id = $aliases[(string) $id]; } - // $code .= $this->addServiceAlias($alias, $id); + $services[$alias] = $this->getServiceAliasDefinition($id); } return $services; @@ -240,19 +240,24 @@ protected function getServiceDefinition($definition) } /** - * Adds a service alias. + * Returns a service alias definiton. * * @param string $alias * @param Alias $id * * @return string */ - protected function addServiceAlias($alias, $id) + protected function getServiceAliasDefinition($id) { if ($id->isPublic()) { - return sprintf(" %s: @%s\n", $alias, $id); + return [ + 'alias' => '@' . $id, + ]; } else { - return sprintf(" %s:\n alias: %s\n public: false", $alias, $id); + return [ + 'alias' => '@' . $id, + 'public' => FALSE, + ]; } } /** diff --git a/core/lib/Drupal/Core/DependencyInjection/PhpArray/Container.php b/core/lib/Drupal/Core/DependencyInjection/PhpArray/Container.php index d5e3efc..bacad60 100644 --- a/core/lib/Drupal/Core/DependencyInjection/PhpArray/Container.php +++ b/core/lib/Drupal/Core/DependencyInjection/PhpArray/Container.php @@ -98,6 +98,10 @@ public function get($name, $invalidBehavior = ContainerInterface::EXCEPTION_ON_I return $this->services[$name]; } + if (isset($definition['alias'])) { + return $this->get(substr($definition['alias'], 1), $invalidBehavior); + } + $this->loading[$name] = TRUE; $definition += array(