Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php
Строк: 62
<?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;

/**
 * Removes abstract Definitions.
 */
class RemoveAbstractDefinitionsPass implements CompilerPassInterface
{
    
/**
     * Removes abstract definitions from the ContainerBuilder.
     *
     * @param ContainerBuilder $container
     */
    
public function process(ContainerBuilder $container)
    {
        
$compiler $container->getCompiler();
        
$formatter $compiler->getLoggingFormatter();

        foreach (
$container->getDefinitions() as $id => $definition) {
            if (
$definition->isAbstract()) {
                
$container->removeDefinition($id);
                
$compiler->addLogMessage($formatter->formatRemoveService($this$id'abstract'));
            }
        }
    }
}
Онлайн: 1
Реклама