Symfony\Bundle\DoctrineMongoDBBundle\DependencyInjection\DoctrineMongoDBExtension::detectMetadataDriver PHP Method

detectMetadataDriver() protected static method

Detects what metadata driver to use for the supplied directory.
protected static detectMetadataDriver ( string $dir, ContainerBuilder $container ) : string | null
$dir string A directory path
$container Symfony\Component\DependencyInjection\ContainerBuilder A ContainerBuilder configuration
return string | null A metadata driver short name, if one can be detected
    static protected function detectMetadataDriver($dir, ContainerBuilder $container)
    {
        // add the closest existing directory as a resource
        $resource = $dir.'/Resources/config/doctrine/metadata/mongodb';
        while (!is_dir($resource)) {
            $resource = dirname($resource);
        }
        $container->addResource(new FileResource($resource));

        if (count(glob($dir.'/Resources/config/doctrine/metadata/mongodb/*.xml'))) {
            return 'xml';
        } elseif (count(glob($dir.'/Resources/config/doctrine/metadata/mongodb/*.yml'))) {
            return 'yml';
        }

        // add the directory itself as a resource
        $container->addResource(new FileResource($dir));

        if (is_dir($dir.'/Document')) {
            return 'annotation';
        }
    }