1111use InvalidArgumentException ;
1212use RuntimeException ;
1313use Symfony \Component \Config \Definition \Builder \ArrayNodeDefinition ;
14+ use Symfony \Component \Config \Definition \Builder \ExprBuilder ;
15+ use Symfony \Component \Config \Definition \Builder \NodeBuilder ;
1416use Symfony \Component \Config \Definition \Builder \NodeDefinition ;
1517use Symfony \Component \Config \Definition \Builder \NodeParentInterface ;
1618use Symfony \Component \Config \Definition \Builder \TreeBuilder ;
@@ -71,9 +73,9 @@ private function addDbalSection(ArrayNodeDefinition $node): void
7173 // Key that should not be rewritten to the connection config
7274 $ excludedKeys = ['default_connection ' => true , 'driver_schemes ' => true , 'driver_scheme ' => true , 'types ' => true , 'type ' => true ];
7375
74- $ node
75- -> children ()
76- ->arrayNode ('dbal ' )
76+ $ children = $ node-> children ();
77+ /** @var NodeBuilder<ArrayNodeDefinition<NodeParentInterface>> $ children */
78+ $ children ->arrayNode ('dbal ' )
7779 ->beforeNormalization ()
7880 ->ifTrue (static function ($ v ) use ($ excludedKeys ) {
7981 if (! is_array ($ v )) {
@@ -218,8 +220,9 @@ private function getDbalConnectionsNode(): ArrayNodeDefinition
218220 ->scalarNode ('result_cache ' )->end ()
219221 ->end ();
220222
221- $ replicaNode = $ connectionNode
222- ->children ()
223+ $ children = $ connectionNode ->children ();
224+ /** @var NodeBuilder<ArrayNodeDefinition<NodeParentInterface>> $children */
225+ $ replicaNode = $ children
223226 ->arrayNode ('replicas ' )
224227 ->useAttributeAsKey ('name ' )
225228 ->prototype ('array ' );
@@ -239,8 +242,9 @@ private function getDbalConnectionsNode(): ArrayNodeDefinition
239242 **/
240243 private function configureDbalDriverNode (ArrayNodeDefinition $ node ): void
241244 {
242- $ node
243- ->validate ()
245+ $ validate = $ node ->validate ();
246+ /** @var ExprBuilder<ArrayNodeDefinition<NodeParentInterface>> $validate */
247+ $ validate
244248 ->always (static function (array $ values ) {
245249 if (! isset ($ values ['url ' ])) {
246250 return $ values ;
@@ -261,7 +265,8 @@ private function configureDbalDriverNode(ArrayNodeDefinition $node): void
261265
262266 return $ values ;
263267 })
264- ->end ()
268+ ->end ();
269+ $ node
265270 ->children ()
266271 ->scalarNode ('url ' )->info ('A URL with connection information; any parameter value parsed from this string will override explicitly set parameters ' )->end ()
267272 ->scalarNode ('dbname ' )->end ()
@@ -378,8 +383,9 @@ private function addOrmSection(ArrayNodeDefinition $node): void
378383 'controller_resolver ' => true ,
379384 ];
380385
381- $ node
382- ->children ()
386+ $ children = $ node ->children ();
387+ /** @var NodeBuilder<ArrayNodeDefinition<NodeParentInterface>> $children */
388+ $ children
383389 ->arrayNode ('orm ' )
384390 ->beforeNormalization ()
385391 ->ifTrue (static function ($ v ) use ($ excludedKeys ) {
@@ -525,12 +531,14 @@ private function getOrmEntityListenersNode(): NodeDefinition
525531 return ['entities ' => $ entities ];
526532 };
527533
528- $ node
529- ->beforeNormalization ()
534+ $ before = $ node ->beforeNormalization ();
535+ /** @var ExprBuilder<ArrayNodeDefinition<NodeParentInterface>> $before */
536+ $ before
530537 // Yaml normalization
531538 ->ifTrue (static fn ($ v ) => is_array (reset ($ v )) && is_string (key (reset ($ v ))))
532539 ->then ($ normalizer )
533- ->end ()
540+ ->end ();
541+ $ node
534542 ->fixXmlConfig ('entity ' , 'entities ' )
535543 ->children ()
536544 ->arrayNode ('entities ' )
@@ -748,11 +756,13 @@ private function getOrmCacheDriverNode(string $name): ArrayNodeDefinition
748756 $ treeBuilder = new TreeBuilder ($ name );
749757 $ node = $ treeBuilder ->getRootNode ();
750758
751- $ node
752- ->beforeNormalization ()
759+ $ before = $ node ->beforeNormalization ();
760+ /** @var ExprBuilder<ArrayNodeDefinition<NodeParentInterface>> $before */
761+ $ before
753762 ->ifString ()
754763 ->then (static fn ($ v ): array => ['type ' => $ v ])
755- ->end ()
764+ ->end ();
765+ $ node
756766 ->children ()
757767 ->scalarNode ('type ' )->defaultNull ()->end ()
758768 ->scalarNode ('id ' )->end ()
0 commit comments