eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Compiler\RegisterStorageEnginePass::process PHP Метод

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

Does: - Registers all storage engines to ezpublish.api.storage_engine.factory
public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        if (!$container->hasDefinition('ezpublish.api.storage_engine.factory')) {
            return;
        }
        $storageEngineFactoryDef = $container->getDefinition('ezpublish.api.storage_engine.factory');
        foreach ($container->findTaggedServiceIds('ezpublish.storageEngine') as $id => $attributes) {
            foreach ($attributes as $attribute) {
                if (!isset($attribute['alias'])) {
                    throw new LogicException('ezpublish.storageEngine service tag needs an "alias" attribute to identify the storage engine. None given.');
                }
                // Register the storage engine on the main storage engine factory
                $storageEngineFactoryDef->addMethodCall('registerStorageEngine', array(new Reference($id), $attribute['alias']));
            }
        }
    }
RegisterStorageEnginePass