Skip to content

Commit f889710

Browse files
committed
feat: Add aliases for each driver and its session in Neo4jExtension.php
1 parent d0283a1 commit f889710

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/DependencyInjection/Neo4jExtension.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Neo4j\Neo4jBundle\DependencyInjection;
66

7+
use Laudis\Neo4j\Contracts\DriverInterface;
8+
use Laudis\Neo4j\Contracts\SessionInterface;
79
use Neo4j\Neo4jBundle\Collector\Neo4jDataCollector;
810
use Neo4j\Neo4jBundle\EventHandler;
911
use Neo4j\Neo4jBundle\EventListener\Neo4jProfileListener;
@@ -58,6 +60,24 @@ public function load(array $configs, ContainerBuilder $container): ContainerBuil
5860
$container->getDefinition('neo4j.driver')
5961
->setArgument(0, $defaultAlias);
6062

63+
foreach ($mergedConfig['drivers'] as $driverConfig) {
64+
$container
65+
->setDefinition(
66+
'neo4j.driver.'.$driverConfig['alias'],
67+
(new Definition(DriverInterface::class))
68+
->setFactory([new Reference('neo4j.client'), 'getDriver'])
69+
->setArgument(0, $driverConfig['alias'])
70+
);
71+
72+
$container
73+
->setDefinition(
74+
'neo4j.session.'.$driverConfig['alias'],
75+
(new Definition(SessionInterface::class))
76+
->setFactory([new Reference('neo4j.driver.'.$driverConfig['alias']), 'createSession'])
77+
->setShared(false)
78+
);
79+
}
80+
6181
$enabledProfiles = [];
6282
foreach ($mergedConfig['drivers'] as $driver) {
6383
if (true === $driver['profiling'] || (null === $driver['profiling'] && $container->getParameter(

0 commit comments

Comments
 (0)