You are here

public function RemovePrivateAliasesPass::process in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php \Symfony\Component\DependencyInjection\Compiler\RemovePrivateAliasesPass::process()

Removes private aliases from the ContainerBuilder.

Parameters

ContainerBuilder $container:

Overrides CompilerPassInterface::process

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php, line 30

Class

RemovePrivateAliasesPass
Remove private aliases from the container. They were only used to establish dependencies between services, and these dependencies have been resolved in one of the previous passes.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) {
  $compiler = $container
    ->getCompiler();
  $formatter = $compiler
    ->getLoggingFormatter();
  foreach ($container
    ->getAliases() as $id => $alias) {
    if ($alias
      ->isPublic()) {
      continue;
    }
    $container
      ->removeAlias($id);
    $compiler
      ->addLogMessage($formatter
      ->formatRemoveService($this, $id, 'private alias'));
  }
}