protected function createMetadataDriver(DoctrineConfig $config, $driverConfig)
{
switch ($driver = array_get($driverConfig, 'driver')) {
case 'config':
return new ConfigMappingDriver();
break;
case 'annotation':
return $config->newDefaultAnnotationDriver(array_get($driverConfig, 'paths', app_path()), array_get($driverConfig, 'simple', false));
break;
case 'yaml':
return new YamlDriver(array_get($driverConfig, 'paths', app_path()));
break;
case 'xml':
return new XmlDriver(array_get($driverConfig, 'paths', app_path()));
break;
case 'static':
return new StaticPHPDriver(array_get($driverConfig, 'paths', app_path()));
break;
case null:
throw new RuntimeException('Metadata driver has unspecified type.');
break;
default:
throw new RuntimeException(sprintf('Unsupported driver: %s', $driver));
break;
}
}