Skip to content

Commit

Permalink
Merge pull request #712 from sroze/doctrine-service-is-public
Browse files Browse the repository at this point in the history
`doctrine` service is public
  • Loading branch information
fabpot committed Oct 8, 2017
2 parents 8294997 + e0a9109 commit 96a074a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
2 changes: 2 additions & 0 deletions DependencyInjection/DoctrineExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ protected function dbalLoad(array $config, ContainerBuilder $container)
$this->defaultConnection = $config['default_connection'];

$container->setAlias('database_connection', sprintf('doctrine.dbal.%s_connection', $this->defaultConnection));
$container->getAlias('database_connection')->setPublic(true);
$container->setAlias('doctrine.dbal.event_manager', new Alias(sprintf('doctrine.dbal.%s_connection.event_manager', $this->defaultConnection), false));

$container->setParameter('doctrine.dbal.connection_factory.types', $config['types']);
Expand Down Expand Up @@ -351,6 +352,7 @@ protected function ormLoad(array $config, ContainerBuilder $container)
}

$container->setAlias('doctrine.orm.entity_manager', sprintf('doctrine.orm.%s_entity_manager', $config['default_entity_manager']));
$container->getAlias('doctrine.orm.entity_manager')->setPublic(true);

$config['entity_managers'] = $this->fixManagersAutoMappings($config['entity_managers'], $container->getParameter('kernel.bundles'));

Expand Down
2 changes: 1 addition & 1 deletion Resources/config/dbal.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@

<service id="doctrine.dbal.connection.configuration" class="%doctrine.dbal.configuration.class%" public="false" abstract="true" />

<service id="doctrine" class="%doctrine.class%">
<service id="doctrine" class="%doctrine.class%" public="true">
<argument type="service" id="service_container" />
<argument>%doctrine.connections%</argument>
<argument>%doctrine.entity_managers%</argument>
Expand Down
13 changes: 13 additions & 0 deletions Tests/DependencyInjection/DoctrineExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,19 @@ public function testAutowiringAlias()
}
}

public function testPublicServicesAndAliases()
{
$container = $this->getContainer();
$extension = new DoctrineExtension();
$config = BundleConfigurationBuilder::createBuilderWithBaseValues()->build();

$extension->load(array($config), $container);

$this->assertTrue($container->getDefinition('doctrine')->isPublic());
$this->assertTrue($container->getAlias('doctrine.orm.entity_manager')->isPublic());
$this->assertTrue($container->getAlias('database_connection')->isPublic());
}

public function testDbalGenerateDefaultConnectionConfiguration()
{
$container = $this->getContainer();
Expand Down

0 comments on commit 96a074a

Please sign in to comment.