|
@@ -201,7 +201,7 @@ class DoctrineExtension extends LoaderExtension
|
|
|
$bundleEntityMappings = array();
|
|
|
$bundleDirs = $this->bundleDirs;
|
|
|
$aliasMap = array();
|
|
|
- foreach ($this->bundles as $className)
|
|
|
+ foreach (array_reverse($this->bundles) as $className)
|
|
|
{
|
|
|
$tmp = dirname(str_replace('\\', '/', $className));
|
|
|
$namespace = str_replace('/', '\\', dirname($tmp));
|
|
@@ -209,27 +209,29 @@ class DoctrineExtension extends LoaderExtension
|
|
|
|
|
|
if (isset($bundleDirs[$namespace]))
|
|
|
{
|
|
|
- $type = false;
|
|
|
- if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Resources/config/doctrine/metadata'))
|
|
|
- {
|
|
|
- $type = $this->detectMappingType($dir);
|
|
|
- }
|
|
|
-
|
|
|
- if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Entities'))
|
|
|
- {
|
|
|
- $type = 'annotation';
|
|
|
-
|
|
|
- $aliasMap[$class] = $namespace.'\\'.$class.'\\Entities';
|
|
|
- }
|
|
|
-
|
|
|
- if (false !== $type)
|
|
|
- {
|
|
|
- $mappingDriverDef->addMethodCall('addDriver', array(
|
|
|
- new Reference(sprintf('doctrine.orm.metadata_driver.%s', $type)),
|
|
|
- $namespace.'\\'.$class.'\\Entities'
|
|
|
- )
|
|
|
- );
|
|
|
- }
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ $type = false;
|
|
|
+ if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Resources/config/doctrine/metadata'))
|
|
|
+ {
|
|
|
+ $type = $this->detectMappingType($dir);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Entities'))
|
|
|
+ {
|
|
|
+ $type = 'annotation';
|
|
|
+
|
|
|
+ $aliasMap[$class] = $namespace.'\\'.$class.'\\Entities';
|
|
|
+ }
|
|
|
+
|
|
|
+ if (false !== $type)
|
|
|
+ {
|
|
|
+ $mappingDriverDef->addMethodCall('addDriver', array(
|
|
|
+ new Reference(sprintf('doctrine.orm.metadata_driver.%s', $type)),
|
|
|
+ $namespace.'\\'.$class.'\\Entities'
|
|
|
+ )
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
$ormConfigDef->addMethodCall('setEntityNamespaces', array($aliasMap));
|