@@ -295,9 +295,7 @@ private function compileDefinition(string $entryName, Definition $definition) :
295
295
$ defaultParameters
296
296
);
297
297
298
- $ definitionParameters = array_map (function ($ value ) {
299
- return $ this ->compileValue ($ value );
300
- }, $ resolvedParameters );
298
+ $ definitionParameters = array_map (fn ($ value ) => $ this ->compileValue ($ value ), $ resolvedParameters );
301
299
302
300
$ code = sprintf (
303
301
'return (%s)(%s); ' ,
@@ -446,7 +444,7 @@ public function resolveFactoryParameters(
446
444
array $ definitionParameters = [],
447
445
array $ parametersByClassName = [],
448
446
array $ defaultParameters = []
449
- ) {
447
+ ) : array {
450
448
$ resolvedParameters = [];
451
449
$ parameters = $ reflection ->getParameters ();
452
450
@@ -457,19 +455,20 @@ public function resolveFactoryParameters(
457
455
continue ;
458
456
}
459
457
460
- $ parameterClass = $ parameter ->getClass ();
461
- if (!$ parameterClass ) {
458
+ $ parameterType = $ parameter ->getType ();
459
+ if (!$ parameterType ) {
462
460
if (array_key_exists ($ index , $ defaultParameters )) {
463
461
// take default parameters, when no typehint
464
462
$ resolvedParameters [$ index ] = $ defaultParameters [$ index ];
465
463
}
466
464
continue ;
467
465
}
468
466
469
- if (isset ($ parametersByClassName [$ parameterClass ->name ])) {
470
- $ resolvedParameters [$ index ] = $ parametersByClassName [$ parameterClass ->name ];
467
+ $ parameterTypeName = $ parameterType ->getName ();
468
+ if (isset ($ parametersByClassName [$ parameterTypeName ])) {
469
+ $ resolvedParameters [$ index ] = $ parametersByClassName [$ parameterTypeName ];
471
470
} else {
472
- $ resolvedParameters [$ index ] = new Reference ($ parameterClass -> name );
471
+ $ resolvedParameters [$ index ] = new Reference ($ parameterTypeName );
473
472
}
474
473
}
475
474
0 commit comments