You are here

class RemovePrivateAliasesPass in Service Container 7.2

Same name and namespace in other branches
  1. 7 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php \Symfony\Component\DependencyInjection\Compiler\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.

@author Johannes M. Schmitt <schmittjoh@gmail.com>

Hierarchy

Expanded class hierarchy of RemovePrivateAliasesPass

File

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

Namespace

Symfony\Component\DependencyInjection\Compiler
View source
class RemovePrivateAliasesPass implements CompilerPassInterface {

  /**
   * Removes private aliases from the ContainerBuilder.
   *
   * @param ContainerBuilder $container
   */
  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'));
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RemovePrivateAliasesPass::process public function Removes private aliases from the ContainerBuilder. Overrides CompilerPassInterface::process