ApiPlatform\Core\Bridge\Symfony\Bundle\DependencyInjection\ApiPlatformExtension::registerLoaders PHP Method

registerLoaders() private method

Registers configuration file loaders.
private registerLoaders ( ContainerBuilder $container, array $bundles )
$container Symfony\Component\DependencyInjection\ContainerBuilder
$bundles array
    private function registerLoaders(ContainerBuilder $container, array $bundles)
    {
        $annotationPaths = [];
        $yamlResources = [];
        $xmlResources = [];
        foreach ($bundles as $bundle) {
            $bundleDirectory = dirname((new \ReflectionClass($bundle))->getFileName());
            $this->addFileResources($bundleDirectory, $xmlResources, $yamlResources);
            if (file_exists($entityDirectory = $bundleDirectory . '/Entity')) {
                $annotationPaths[] = $entityDirectory;
                $container->addResource(new DirectoryResource($entityDirectory, '/\\.php$/'));
            }
        }
        $container->getDefinition('api_platform.metadata.resource.name_collection_factory.annotation')->addArgument($annotationPaths);
        $container->getDefinition('api_platform.metadata.extractor.yaml')->addArgument($yamlResources);
        $container->getDefinition('api_platform.metadata.extractor.xml')->addArgument($xmlResources);
    }