Skip to content

Commit 7148036

Browse files
[DependencyInjection] Fix FC with Config v8
1 parent b9f4c0d commit 7148036

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

Loader/PhpFileLoader.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,21 @@ class PhpFileLoader extends FileLoader
4040
{
4141
protected bool $autoRegisterAliasesForSinglyImplementedInterfaces = false;
4242

43+
private ?ConfigBuilderGeneratorInterface $generator;
44+
4345
public function __construct(
4446
ContainerBuilder $container,
4547
FileLocatorInterface $locator,
4648
?string $env = null,
47-
private ?ConfigBuilderGeneratorInterface $generator = null,
49+
ConfigBuilderGeneratorInterface|bool|null $generator = null,
4850
bool $prepend = false,
4951
) {
52+
if (\is_bool($generator)) {
53+
$prepend = $generator;
54+
$generator = null;
55+
}
56+
$this->generator = $generator;
57+
5058
parent::__construct($container, $locator, $env, $prepend);
5159
}
5260

Tests/Loader/PhpFileLoaderTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function testPrependExtensionConfigWithLoadMethod()
6161
$container = new ContainerBuilder();
6262
$container->registerExtension(new \AcmeExtension());
6363
$container->prependExtensionConfig('acme', ['foo' => 'bar']);
64-
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()), true);
64+
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', prepend: true);
6565
$loader->load('config_builder.php');
6666

6767
$expected = [
@@ -77,7 +77,7 @@ public function testPrependExtensionConfigWithImportMethod()
7777
$container = new ContainerBuilder();
7878
$container->registerExtension(new \AcmeExtension());
7979
$container->prependExtensionConfig('acme', ['foo' => 'bar']);
80-
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()), true);
80+
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', prepend: true);
8181
$loader->import('config_builder.php');
8282

8383
$expected = [
@@ -117,7 +117,7 @@ public function testConfig($file)
117117
$fixtures = realpath(__DIR__.'/../Fixtures');
118118
$container = new ContainerBuilder();
119119
$container->registerExtension(new \AcmeExtension());
120-
$loader = new PhpFileLoader($container, new FileLocator(), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()));
120+
$loader = new PhpFileLoader($container, new FileLocator(), 'prod');
121121
$loader->load($fixtures.'/config/'.$file.'.php');
122122

123123
$container->compile();
@@ -264,7 +264,7 @@ public function testWhenEnv()
264264

265265
$fixtures = realpath(__DIR__.'/../Fixtures');
266266
$container = new ContainerBuilder();
267-
$loader = new PhpFileLoader($container, new FileLocator(), 'dev', new ConfigBuilderGenerator(sys_get_temp_dir()));
267+
$loader = new PhpFileLoader($container, new FileLocator(), 'dev');
268268

269269
$loader->load($fixtures.'/config/when_env.php');
270270
}
@@ -275,7 +275,7 @@ public function testNotWhenEnv()
275275

276276
$fixtures = realpath(__DIR__.'/../Fixtures');
277277
$container = new ContainerBuilder();
278-
$loader = new PhpFileLoader($container, new FileLocator(), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()));
278+
$loader = new PhpFileLoader($container, new FileLocator(), 'prod');
279279

280280
$loader->load($fixtures.'/config/not_when_env.php');
281281
}
@@ -284,7 +284,7 @@ public function testUsingBothWhenAndNotWhenEnv()
284284
{
285285
$fixtures = realpath(__DIR__.'/../Fixtures');
286286
$container = new ContainerBuilder();
287-
$loader = new PhpFileLoader($container, new FileLocator(), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()));
287+
$loader = new PhpFileLoader($container, new FileLocator(), 'prod');
288288

289289
$this->expectException(LogicException::class);
290290
$this->expectExceptionMessage('Using both #[When] and #[WhenNot] attributes on the same target is not allowed.');
@@ -311,12 +311,12 @@ public function testServiceWithServiceLocatorArgument()
311311
$this->assertEquals([new ServiceLocatorArgument($values)], $container->getDefinition('locator_dependent_inline_service')->getArguments());
312312
}
313313

314-
public function testConfigBuilderEnvConfigurator()
314+
public function testArrayEnvConfigurator()
315315
{
316316
$container = new ContainerBuilder();
317317
$container->registerExtension(new \AcmeExtension());
318-
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()), true);
319-
$loader->load('config_builder_env_configurator.php');
318+
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod');
319+
$loader->load('array_env_configurator.php');
320320

321321
$this->assertIsString($container->getExtensionConfig('acme')[0]['color']);
322322
}

0 commit comments

Comments
 (0)