Sulu\Bundle\AdminBundle\DependencyInjection\Compiler\WidgetsPass::process PHP Метод

process() публичный Метод

You can modify the container here before it is dumped to PHP code.
public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        if (!$container->hasDefinition('sulu_admin.widgets_handler')) {
            return;
        }
        $widgetsHandler = $container->getDefinition('sulu_admin.widgets_handler');
        // get tagged services
        $taggedServices = $container->findTaggedServiceIds($this->widgetTag);
        // add each widget for each tag
        foreach ($taggedServices as $id => $tagAttributes) {
            foreach ($tagAttributes as $tagAttribute) {
                if (array_key_exists('alias', $tagAttribute)) {
                    $widgetsHandler->addMethodCall('addWidget', [new Reference($id), $tagAttribute['alias']]);
                } else {
                    throw new InvalidArgumentException('A widget could not be registered.', 'alias');
                }
            }
        }
    }