private function loadElasticaToModelTransformer(array $typeConfig, ContainerBuilder $container, $indexName, $typeName)
    {
        if (isset($typeConfig['elastica_to_model_transformer']['service'])) {
            return $typeConfig['elastica_to_model_transformer']['service'];
        }

        /* Note: transformer services may conflict with "prototype.driver", if
         * the index and type names were "prototype" and a driver, respectively.
         */
        $abstractId = sprintf('fos_elastica.elastica_to_model_transformer.prototype.%s', $typeConfig['driver']);
        $serviceId = sprintf('fos_elastica.elastica_to_model_transformer.%s.%s', $indexName, $typeName);
        $serviceDef = new ChildDefinition($abstractId);
        $serviceDef->addTag('fos_elastica.elastica_to_model_transformer', ['type' => $typeName, 'index' => $indexName]);

        $serviceDef->replaceArgument(1, $typeConfig['model']);
        $serviceDef->replaceArgument(2, array_merge($typeConfig['elastica_to_model_transformer'], [
            'identifier' => $typeConfig['identifier'],
        ]));
        $container->setDefinition($serviceId, $serviceDef);

        return $serviceId;
    }
private function loadElasticaToModelTransformer(array $typeConfig, ContainerBuilder $container, $indexName, $typeName)
    {
        if (isset($typeConfig['elastica_to_model_transformer']['service'])) {
            return $typeConfig['elastica_to_model_transformer']['service'];
        }

        /* Note: transformer services may conflict with "prototype.driver", if
         * the index and type names were "prototype" and a driver, respectively.
         */
        $abstractId = sprintf('fos_elastica.elastica_to_model_transformer.prototype.%s', $typeConfig['driver']);
        $serviceId = sprintf('fos_elastica.elastica_to_model_transformer.%s.%s', $indexName, $typeName);
        $serviceDef = new ChildDefinition($abstractId);
        $serviceDef->addTag('fos_elastica.elastica_to_model_transformer', ['type' => $typeName, 'index' => $indexName]);

        $serviceDef->replaceArgument(1, $typeConfig['model']);
        $serviceDef->replaceArgument(2, array_merge($typeConfig['elastica_to_model_transformer'], [
            'identifier' => $typeConfig['identifier'],
        ]));
        $container->setDefinition($serviceId, $serviceDef);

        return $serviceId;
    }
private function loadElasticaToModelTransformer ( array $ typeConfig , ContainerBuilder $ container , $ indexName , $ typeName ) { if ( isset ( $ typeConfig [ 'elastica_to_model_transformer' ] [ 'service' ] ) ) { return $ typeConfig [ 'elastica_to_model_transformer' ] [ 'service' ] ; } /* Note: transformer services may conflict with "prototype.driver", if
         * the index and type names were "prototype" and a driver, respectively.
         */ $ abstractId = sprintf ( 'fos_elastica.elastica_to_model_transformer.prototype.%s' , $ typeConfig [ 'driver' ] ) ; $ serviceId = sprintf ( 'fos_elastica.elastica_to_model_transformer.%s.%s' , $ indexName , $ typeName ) ; $ serviceDef = new ChildDefinition ( $ abstractId ) ; $ serviceDef -> addTag ( 'fos_elastica.elastica_to_model_transformer' , [ 'type' => $ typeName , 'index' => $ indexName ] ) ; $ serviceDef -> replaceArgument ( 1 , $ typeConfig [ 'model' ] ) ; $ serviceDef -> replaceArgument ( 2 , array_merge ( $ typeConfig [ 'elastica_to_model_transformer' ] , [ 'identifier' => $ typeConfig [ 'identifier' ] , ] ) ) ; $ container -> setDefinition ( $ serviceId , $ serviceDef ) ; return $ serviceId ; }
Creates and loads an ElasticaToModelTransformer.

@param array            $typeConfig
@param ContainerBuilder $container
@param string           $indexName
@param string           $typeName

@return string
Creates and loads an ElasticaToModelTransformer .