Skip to content

Commit b8a538f

Browse files
committed
Register the puli factory in the container
1 parent eab74ab commit b8a538f

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/Kernel.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use DI\Container;
77
use DI\ContainerBuilder;
88
use Doctrine\Common\Cache\Cache;
9+
use Interop\Container\ContainerInterface;
910
use Puli\Discovery\Api\Discovery;
1011
use Puli\Repository\Api\Resource\FilesystemResource;
1112
use Puli\Repository\Api\ResourceRepository;
@@ -77,9 +78,9 @@ public function createContainer()
7778

7879
// Create Puli objects
7980
$factoryClass = self::$puliFactoryClass ?: PULI_FACTORY_CLASS;
80-
$factory = new $factoryClass();
81+
$puli = new $factoryClass();
8182
/** @var ResourceRepository $repository */
82-
$repository = $factory->createRepository();
83+
$repository = $puli->createRepository();
8384

8485
$containerBuilder = new ContainerBuilder();
8586

@@ -90,9 +91,11 @@ public function createContainer()
9091

9192
// Puli objects
9293
$containerBuilder->addDefinitions([
94+
'puli.factory' => $puli,
9395
ResourceRepository::class => $repository,
94-
Discovery::class => function () use ($factory, $repository) {
95-
return $factory->createDiscovery($repository);
96+
Discovery::class => function (ContainerInterface $c) {
97+
$puli = $c->get('puli.factory');
98+
return $puli->createDiscovery($c->get(ResourceRepository::class));
9699
},
97100
]);
98101

tests/KernelTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,15 @@ public function registers_puli_discovery()
5454
$this->assertInstanceOf(Discovery::class, $container->get(Discovery::class));
5555
}
5656

57+
/**
58+
* @test
59+
*/
60+
public function registers_puli_factory()
61+
{
62+
$container = $this->kernel->createContainer();
63+
$this->assertTrue($container->has('puli.factory'));
64+
}
65+
5766
/**
5867
* @test
5968
*/

0 commit comments

Comments
 (0)