WellCommerce\Bundle\CoreBundle\DependencyInjection\Compiler\DataSetPass::process PHP Метод

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

Processes the container
public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        $tag = 'dataset';
        $interface = DataSetInterface::class;
        foreach ($container->findTaggedServiceIds($tag) as $id => $attributes) {
            $definition = $container->getDefinition($id);
            $refClass = new \ReflectionClass($definition->getClass());
            if (!$refClass->implementsInterface($interface)) {
                throw new \InvalidArgumentException(sprintf('DataSet "%s" tagged with "%s" must implement interface "%s".', $id, $tag, $interface));
            }
            $definition->addArgument(new Reference('dataset.manager'));
            $definition->addArgument(new Reference('event_dispatcher'));
            $definition->setConfigurator([new Reference('dataset.configurator'), 'configure']);
        }
    }
DataSetPass