Refactored the config to use the right parameters instead of using the default values
This commit is contained in:
parent
527749ca3f
commit
f37a2a9513
@ -165,7 +165,7 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
||||
{
|
||||
$configServiceName = sprintf('doctrine.orm.%s_configuration', $entityManager['name']);
|
||||
|
||||
$ormConfigDef = new Definition('Doctrine\ORM\Configuration');
|
||||
$ormConfigDef = new Definition('%doctrine.orm.configuration_class%');
|
||||
$ormConfigDef->setPublic(false);
|
||||
$container->setDefinition($configServiceName, $ormConfigDef);
|
||||
|
||||
@ -187,10 +187,11 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
||||
}
|
||||
|
||||
$entityManagerService = sprintf('doctrine.orm.%s_entity_manager', $entityManager['name']);
|
||||
$connectionName = isset($entityManager['connection']) ? $entityManager['connection'] : $entityManager['name'];
|
||||
$connectionId = isset($entityManager['connection']) ? sprintf('doctrine.dbal.%s_connection', $entityManager['connection']) : 'database_connection';
|
||||
$eventManagerID = isset($entityManager['connection']) ? sprintf('doctrine.dbal.%s_connection.event_manager', $entityManager['connection']) : 'doctrine.dbal.event_manager';
|
||||
|
||||
$ormEmArgs = array(
|
||||
new Reference(sprintf('doctrine.dbal.%s_connection', $connectionName)),
|
||||
new Reference($connectionId),
|
||||
new Reference(sprintf('doctrine.orm.%s_configuration', $entityManager['name']))
|
||||
);
|
||||
$ormEmDef = new Definition('%doctrine.orm.entity_manager_class%', $ormEmArgs);
|
||||
@ -201,7 +202,7 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
||||
|
||||
$container->setAlias(
|
||||
sprintf('doctrine.orm.%s_entity_manager.event_manager', $entityManager['name']),
|
||||
new Alias(sprintf('doctrine.dbal.%s_connection.event_manager', $connectionName), false)
|
||||
new Alias($eventManagerID, false)
|
||||
);
|
||||
}
|
||||
|
||||
@ -304,10 +305,14 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
||||
protected function getEntityManagerCacheDefinition(array $entityManager, $cacheDriver, ContainerBuilder $container)
|
||||
{
|
||||
if ('memcache' === $cacheDriver['type']) {
|
||||
$cacheDef = new Definition('%doctrine.orm.cache.memcache_class%');
|
||||
$memcacheInstance = new Definition('%doctrine.orm.cache.memcache_instance_class%');
|
||||
$memcacheClass = !empty ($cacheDriver['class']) ? $cacheDriver['class'] : '%doctrine.orm.cache.memcache_class%';
|
||||
$memcacheInstanceClass = !empty ($cacheDriver['instance_class']) ? $cacheDriver['instance_class'] : '%doctrine.orm.cache.memcache_instance_class%';
|
||||
$memcacheHost = !empty ($cacheDriver['host']) ? $cacheDriver['host'] : '%doctrine.orm.cache.memcache_host%';
|
||||
$memcachePort = !empty ($cacheDriver['port']) ? $cacheDriver['port'] : '%doctrine.orm.cache.memcache_port%';
|
||||
$cacheDef = new Definition($memcacheClass);
|
||||
$memcacheInstance = new Definition($memcacheInstanceClass);
|
||||
$memcacheInstance->addMethodCall('connect', array(
|
||||
'%doctrine.orm.cache.memcache_host%', '%doctrine.orm.cache.memcache_port%'
|
||||
$memcacheHost, $memcachePort
|
||||
));
|
||||
$container->setDefinition(sprintf('doctrine.orm.%s_memcache_instance', $entityManager['name']), $memcacheInstance);
|
||||
$cacheDef->addMethodCall('setMemcache', array(new Reference(sprintf('doctrine.orm.%s_memcache_instance', $entityManager['name']))));
|
||||
|
@ -160,7 +160,7 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
|
||||
$arguments = $definition->getArguments();
|
||||
$this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[0]);
|
||||
$this->assertEquals('doctrine.dbal.default_connection', (string) $arguments[0]);
|
||||
$this->assertEquals('database_connection', (string) $arguments[0]);
|
||||
$this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[1]);
|
||||
$this->assertEquals('doctrine.orm.default_configuration', (string) $arguments[1]);
|
||||
|
||||
@ -198,7 +198,7 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
$this->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());
|
||||
|
||||
$this->assertDICConstructorArguments($definition, array(
|
||||
new Reference('doctrine.dbal.default_connection'), new Reference('doctrine.orm.default_configuration')
|
||||
new Reference('database_connection'), new Reference('doctrine.orm.default_configuration')
|
||||
));
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
$this->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());
|
||||
|
||||
$this->assertDICConstructorArguments($definition, array(
|
||||
new Reference('doctrine.dbal.default_connection'), new Reference('doctrine.orm.default_configuration')
|
||||
new Reference('database_connection'), new Reference('doctrine.orm.default_configuration')
|
||||
));
|
||||
}
|
||||
|
||||
@ -489,15 +489,15 @@ abstract class AbstractDoctrineExtensionTest extends TestCase
|
||||
$container->compile();
|
||||
|
||||
$definition = $container->getDefinition('doctrine.orm.default_metadata_cache');
|
||||
$this->assertDICDefinitionClass($definition, '%doctrine.orm.cache.memcache_class%');
|
||||
$this->assertDICDefinitionClass($definition, 'Doctrine\Common\Cache\MemcacheCache');
|
||||
$this->assertDICDefinitionMethodCallOnce($definition, 'setMemcache',
|
||||
array(new Reference('doctrine.orm.default_memcache_instance'))
|
||||
);
|
||||
|
||||
$definition = $container->getDefinition('doctrine.orm.default_memcache_instance');
|
||||
$this->assertDICDefinitionClass($definition, '%doctrine.orm.cache.memcache_instance_class%');
|
||||
$this->assertDICDefinitionClass($definition, 'Memcache');
|
||||
$this->assertDICDefinitionMethodCallOnce($definition, 'connect', array(
|
||||
'%doctrine.orm.cache.memcache_host%', '%doctrine.orm.cache.memcache_port%'
|
||||
'localhost', '11211'
|
||||
));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user