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']);
|
$configServiceName = sprintf('doctrine.orm.%s_configuration', $entityManager['name']);
|
||||||
|
|
||||||
$ormConfigDef = new Definition('Doctrine\ORM\Configuration');
|
$ormConfigDef = new Definition('%doctrine.orm.configuration_class%');
|
||||||
$ormConfigDef->setPublic(false);
|
$ormConfigDef->setPublic(false);
|
||||||
$container->setDefinition($configServiceName, $ormConfigDef);
|
$container->setDefinition($configServiceName, $ormConfigDef);
|
||||||
|
|
||||||
@ -187,10 +187,11 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
|||||||
}
|
}
|
||||||
|
|
||||||
$entityManagerService = sprintf('doctrine.orm.%s_entity_manager', $entityManager['name']);
|
$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(
|
$ormEmArgs = array(
|
||||||
new Reference(sprintf('doctrine.dbal.%s_connection', $connectionName)),
|
new Reference($connectionId),
|
||||||
new Reference(sprintf('doctrine.orm.%s_configuration', $entityManager['name']))
|
new Reference(sprintf('doctrine.orm.%s_configuration', $entityManager['name']))
|
||||||
);
|
);
|
||||||
$ormEmDef = new Definition('%doctrine.orm.entity_manager_class%', $ormEmArgs);
|
$ormEmDef = new Definition('%doctrine.orm.entity_manager_class%', $ormEmArgs);
|
||||||
@ -201,7 +202,7 @@ class DoctrineExtension extends AbstractDoctrineExtension
|
|||||||
|
|
||||||
$container->setAlias(
|
$container->setAlias(
|
||||||
sprintf('doctrine.orm.%s_entity_manager.event_manager', $entityManager['name']),
|
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)
|
protected function getEntityManagerCacheDefinition(array $entityManager, $cacheDriver, ContainerBuilder $container)
|
||||||
{
|
{
|
||||||
if ('memcache' === $cacheDriver['type']) {
|
if ('memcache' === $cacheDriver['type']) {
|
||||||
$cacheDef = new Definition('%doctrine.orm.cache.memcache_class%');
|
$memcacheClass = !empty ($cacheDriver['class']) ? $cacheDriver['class'] : '%doctrine.orm.cache.memcache_class%';
|
||||||
$memcacheInstance = new Definition('%doctrine.orm.cache.memcache_instance_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(
|
$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);
|
$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']))));
|
$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();
|
$arguments = $definition->getArguments();
|
||||||
$this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[0]);
|
$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->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[1]);
|
||||||
$this->assertEquals('doctrine.orm.default_configuration', (string) $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->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());
|
||||||
|
|
||||||
$this->assertDICConstructorArguments($definition, array(
|
$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->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());
|
||||||
|
|
||||||
$this->assertDICConstructorArguments($definition, array(
|
$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();
|
$container->compile();
|
||||||
|
|
||||||
$definition = $container->getDefinition('doctrine.orm.default_metadata_cache');
|
$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',
|
$this->assertDICDefinitionMethodCallOnce($definition, 'setMemcache',
|
||||||
array(new Reference('doctrine.orm.default_memcache_instance'))
|
array(new Reference('doctrine.orm.default_memcache_instance'))
|
||||||
);
|
);
|
||||||
|
|
||||||
$definition = $container->getDefinition('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(
|
$this->assertDICDefinitionMethodCallOnce($definition, 'connect', array(
|
||||||
'%doctrine.orm.cache.memcache_host%', '%doctrine.orm.cache.memcache_port%'
|
'localhost', '11211'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user