Skip to content

Commit da5c033

Browse files
Merge branch '7.4' into 8.0
* 7.4: [DependencyInjection] Fix FC with Config v8 Use standard MONGODB_URI for test configuration
2 parents 2271ff4 + 7148036 commit da5c033

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
@@ -59,7 +59,7 @@ public function testPrependExtensionConfigWithLoadMethod()
5959
$container = new ContainerBuilder();
6060
$container->registerExtension(new \AcmeExtension());
6161
$container->prependExtensionConfig('acme', ['foo' => 'bar']);
62-
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()), true);
62+
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', prepend: true);
6363
$loader->load('config_builder.php');
6464

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

8181
$expected = [
@@ -115,7 +115,7 @@ public function testConfig($file)
115115
$fixtures = realpath(__DIR__.'/../Fixtures');
116116
$container = new ContainerBuilder();
117117
$container->registerExtension(new \AcmeExtension());
118-
$loader = new PhpFileLoader($container, new FileLocator(), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()));
118+
$loader = new PhpFileLoader($container, new FileLocator(), 'prod');
119119
$loader->load($fixtures.'/config/'.$file.'.php');
120120

121121
$container->compile();
@@ -262,7 +262,7 @@ public function testWhenEnv()
262262

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

267267
$loader->load($fixtures.'/config/when_env.php');
268268
}
@@ -273,7 +273,7 @@ public function testNotWhenEnv()
273273

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

278278
$loader->load($fixtures.'/config/not_when_env.php');
279279
}
@@ -282,7 +282,7 @@ public function testUsingBothWhenAndNotWhenEnv()
282282
{
283283
$fixtures = realpath(__DIR__.'/../Fixtures');
284284
$container = new ContainerBuilder();
285-
$loader = new PhpFileLoader($container, new FileLocator(), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()));
285+
$loader = new PhpFileLoader($container, new FileLocator(), 'prod');
286286

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

312-
public function testConfigBuilderEnvConfigurator()
312+
public function testArrayEnvConfigurator()
313313
{
314314
$container = new ContainerBuilder();
315315
$container->registerExtension(new \AcmeExtension());
316-
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod', new ConfigBuilderGenerator(sys_get_temp_dir()), true);
317-
$loader->load('config_builder_env_configurator.php');
316+
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Fixtures/config'), 'prod');
317+
$loader->load('array_env_configurator.php');
318318

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

0 commit comments

Comments
 (0)