Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php
Строк: 64
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentDependencyInjectionCompiler;

use 
SymfonyComponentDependencyInjectionContainerBuilder;

/**
 * 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>
 */
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'));
        }
    }
}
Онлайн: 1
Реклама