[DoctrineBundle] updated to only load default settings once
Fixed a bug that caused DoctrineBundle to load default settings for every parsed config file rather than just the first. This caused imported files to be override by default values.
This commit is contained in:
parent
b9199cb21c
commit
a3fc1be13f
@ -217,8 +217,10 @@ class DoctrineExtension extends Extension
|
||||
*/
|
||||
protected function loadOrmDefaults(array $config, ContainerBuilder $container)
|
||||
{
|
||||
$loader = new XmlFileLoader($container, __DIR__.'/../Resources/config');
|
||||
$loader->load($this->resources['orm']);
|
||||
if (!$container->hasDefinition('doctrine.orm.metadata_driver.annotation')) {
|
||||
$loader = new XmlFileLoader($container, __DIR__.'/../Resources/config');
|
||||
$loader->load($this->resources['orm']);
|
||||
}
|
||||
|
||||
// Allow these application configuration options to override the defaults
|
||||
$options = array(
|
||||
|
@ -427,6 +427,20 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
$this->assertEquals(11211, $calls[0][1][1]);
|
||||
}
|
||||
|
||||
public function testDependencyInjectionImportsOverrideDefaults()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$loader = $this->getDoctrineExtensionLoader();
|
||||
$container->registerExtension($loader);
|
||||
|
||||
$this->loadFromFile($container, 'orm_imports');
|
||||
|
||||
$container->freeze();
|
||||
|
||||
$this->assertEquals('apc', $container->getParameter('doctrine.orm.metadata_cache_driver'));
|
||||
$this->assertTrue($container->getParameter('doctrine.orm.auto_generate_proxy_classes'));
|
||||
}
|
||||
|
||||
protected function getDoctrineExtensionLoader($bundle = 'YamlBundle')
|
||||
{
|
||||
require_once __DIR__.'/Fixtures/Bundles/'.$bundle.'/'.$bundle.'.php';
|
||||
@ -434,4 +448,4 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
$bundles = array('Fixtures\\Bundles\\'.$bundle.'\\'.$bundle);
|
||||
return new DoctrineExtension($bundleDirs, $bundles, sys_get_temp_dir());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://www.symfony-project.org/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:doctrine="http://www.symfony-project.org/schema/dic/doctrine"
|
||||
xsi:schemaLocation="http://www.symfony-project.org/schema/dic/services http://www.symfony-project.org/schema/dic/services/services-1.0.xsd
|
||||
http://www.symfony-project.org/schema/dic/doctrine/orm http://www.symfony-project.org/schema/dic/doctrine/orm/doctrine-1.0.xsd
|
||||
http://www.symfony-project.org/schema/dic/doctrine/dbal http://www.symfony-project.org/schema/dic/doctrine/dbal/doctrine-1.0.xsd">
|
||||
|
||||
<imports>
|
||||
<import resource="orm_imports_import.xml" />
|
||||
</imports>
|
||||
|
||||
<doctrine:orm
|
||||
auto_generate_proxy_classes="true"
|
||||
>
|
||||
</doctrine:orm>
|
||||
</container>
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://www.symfony-project.org/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:doctrine="http://www.symfony-project.org/schema/dic/doctrine"
|
||||
xsi:schemaLocation="http://www.symfony-project.org/schema/dic/services http://www.symfony-project.org/schema/dic/services/services-1.0.xsd
|
||||
http://www.symfony-project.org/schema/dic/doctrine/orm http://www.symfony-project.org/schema/dic/doctrine/orm/doctrine-1.0.xsd
|
||||
http://www.symfony-project.org/schema/dic/doctrine/dbal http://www.symfony-project.org/schema/dic/doctrine/dbal/doctrine-1.0.xsd">
|
||||
|
||||
<doctrine:orm
|
||||
auto_generate_proxy_classes="false"
|
||||
metadata_cache_driver="apc"
|
||||
>
|
||||
</doctrine:orm>
|
||||
</container>
|
@ -0,0 +1,6 @@
|
||||
|
||||
imports:
|
||||
- { resource: orm_imports_import.yml }
|
||||
|
||||
doctrine.orm:
|
||||
auto_generate_proxy_classes: true
|
@ -0,0 +1,4 @@
|
||||
|
||||
doctrine.orm:
|
||||
auto_generate_proxy_classes: false
|
||||
metadata_cache_driver: apc
|
Reference in New Issue
Block a user