RemoveAbstractDefinitionsPass.php in Service Container 7.2
Same filename and directory in other branches
File
modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.phpView source
<?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 Symfony\Component\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\ContainerBuilder;
/**
* 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'));
}
}
}
}
Classes
Name | Description |
---|---|
RemoveAbstractDefinitionsPass | Removes abstract Definitions. |