diff --git a/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php b/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php index 86a08a2fa6c91..63b309d78647c 100644 --- a/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php +++ b/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php @@ -172,17 +172,20 @@ private function handlePrototypedArrayNode(PrototypedArrayNode $node, ClassBuild if (null !== $parameterType || $prototype instanceof ScalarNode) { $property = $class->addProperty($node->getName()); if (null === $key = $node->getKeyAttribute()) { + // This is an array of values; don't use singular name $body = ' /** + * @param list $value * @return $this */ -public function NAME(TYPE$value): self +public function NAME(array $value): self { $this->PROPERTY = $value; return $this; }'; - $class->addMethod($methodName, $body, ['PROPERTY' => $property->getName(), 'TYPE' => '' === $parameterType ? '' : $parameterType.' ']); + + $class->addMethod($node->getName(), $body, ['PROPERTY' => $property->getName(), 'TYPE' => '' === $parameterType ? 'mixed' : $parameterType]); } else { $body = ' /** diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.config.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.config.php index ce8fbb432bb97..b35be9d943aab 100644 --- a/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.config.php +++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.config.php @@ -3,7 +3,7 @@ use Symfony\Config\AddToListConfig; return static function (AddToListConfig $config) { - $config->translator()->fallback(['sv', 'fr', 'es']); + $config->translator()->fallbacks(['sv', 'fr', 'es']); $config->translator()->source('\\Acme\\Foo', 'yellow'); $config->translator()->source('\\Acme\\Bar', 'green'); diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.php index 66e5163a262cf..3be63c8f428fd 100644 --- a/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.php +++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/AddToList.php @@ -35,6 +35,7 @@ public function getConfigTreeBuilder(): TreeBuilder ->useAttributeAsKey('message_class') ->prototype('array') ->performNoDeepMerging() + ->fixXmlConfig('sender') ->children() ->arrayNode('senders') ->requiresAtLeastOneElement() diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/NodeInitialValues.config.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/NodeInitialValues.config.php index c7f023d0c57fc..4ebc4df24c392 100644 --- a/src/Symfony/Component/Config/Tests/Builder/Fixtures/NodeInitialValues.config.php +++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/NodeInitialValues.config.php @@ -11,5 +11,5 @@ $config->messenger() ->transports('slow_queue') ->dsn('doctrine://') - ->option(['table'=>'my_messages']); + ->options(['table'=>'my_messages']); }; diff --git a/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php b/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php index 767ebe5452ed0..c033d70086b28 100644 --- a/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php +++ b/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php @@ -104,7 +104,8 @@ private function generateConfigBuilder(string $configurationClass) return new $fqcn(); } - $outputDir = sys_get_temp_dir(); + $outputDir = sys_get_temp_dir().\DIRECTORY_SEPARATOR.uniqid('sf_config_builder', true); + // This line is helpful for debugging // $outputDir = __DIR__.'/.build';