Sylius\Bundle\ProductBundle\DependencyInjection\Compiler\ServicesPass::process PHP Method

process() public method

public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        $factoryDefinition = new Definition(Factory::class);
        $factoryDefinition->addArgument(new Parameter('sylius.model.product.class'));
        $translatableFactoryDefinition = $container->getDefinition('sylius.factory.product');
        $productFactoryClass = $translatableFactoryDefinition->getClass();
        $translatableFactoryDefinition->setClass(TranslatableFactory::class);
        $translatableFactoryDefinition->setArguments([$factoryDefinition, new Reference('sylius.translation_locale_provider')]);
        $decoratedProductFactoryDefinition = new Definition($productFactoryClass);
        $decoratedProductFactoryDefinition->setArguments([$translatableFactoryDefinition, new Reference('sylius.factory.product_variant')]);
        $container->setDefinition('sylius.factory.product', $decoratedProductFactoryDefinition);
        $variantFactoryDefinition = $container->getDefinition('sylius.factory.product_variant');
        $variantFactoryClass = $variantFactoryDefinition->getClass();
        $variantFactoryDefinition->setClass(Factory::class);
        $decoratedProductVariantFactoryDefinition = new Definition($variantFactoryClass);
        $decoratedProductVariantFactoryDefinition->addArgument($variantFactoryDefinition);
        $container->setDefinition('sylius.factory.product_variant', $decoratedProductVariantFactoryDefinition);
    }
ServicesPass