Sylius\Bundle\GridBundle\DependencyInjection\Compiler\RegisterFiltersPass::process PHP Метод

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

public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        if (!$container->hasDefinition('sylius.registry.grid_filter') || !$container->hasDefinition('sylius.form_registry.grid_filter')) {
            return;
        }
        $registry = $container->getDefinition('sylius.registry.grid_filter');
        $formTypeRegistry = $container->getDefinition('sylius.form_registry.grid_filter');
        foreach ($container->findTaggedServiceIds('sylius.grid_filter') as $id => $attributes) {
            if (!isset($attributes[0]['type'], $attributes[0]['form-type'])) {
                throw new \InvalidArgumentException('Tagged grid filters needs to have `type` and `form-type` attribute.');
            }
            $registry->addMethodCall('register', [$attributes[0]['type'], new Reference($id)]);
            $formTypeRegistry->addMethodCall('add', [$attributes[0]['type'], 'default', $attributes[0]['form-type']]);
        }
    }
RegisterFiltersPass