@@ -45,10 +45,10 @@ public function resolve(DefinitionInterface $definition, array $parameters = [])
45
45
46
46
$ guard = DepthGuard::getInstance ();
47
47
48
- return $ guard ->call ($ definition -> getName (), function () use ( $ definition , $ parameters ) {
49
- $ resolver = $ this -> getDefinitionResolver ( $ definition );
50
- return $ resolver -> resolve ($ definition , $ parameters );
51
- } );
48
+ return $ guard ->call (
49
+ $ definition -> getName (),
50
+ fn () => $ this -> getDefinitionResolver ( $ definition )-> resolve ($ definition , $ parameters )
51
+ );
52
52
}
53
53
54
54
/**
@@ -65,10 +65,10 @@ public function isResolvable(DefinitionInterface $definition, array $parameters
65
65
66
66
$ guard = DepthGuard::getInstance ();
67
67
68
- return $ guard ->call ($ definition -> getName (), function () use ( $ definition , $ parameters ) {
69
- $ resolver = $ this -> getDefinitionResolver ( $ definition );
70
- return $ resolver -> isResolvable ($ definition , $ parameters );
71
- } );
68
+ return $ guard ->call (
69
+ $ definition -> getName (),
70
+ fn () => $ this -> getDefinitionResolver ( $ definition )-> isResolvable ($ definition , $ parameters )
71
+ );
72
72
}
73
73
74
74
/**
@@ -78,19 +78,10 @@ public function isResolvable(DefinitionInterface $definition, array $parameters
78
78
*/
79
79
private function getDefinitionResolver (DefinitionInterface $ definition ): ResolverInterface
80
80
{
81
- switch (true ) {
82
- case $ definition instanceof ObjectDefinition:
83
- if (! $ this ->objectResolver ) {
84
- $ this ->objectResolver = new ObjectResolver ($ this ->container , $ this );
85
- }
86
- return $ this ->objectResolver ;
87
- case $ definition instanceof FactoryDefinition:
88
- if (! $ this ->factoryResolver ) {
89
- $ this ->factoryResolver = new FactoryResolver ($ this ->container , $ this );
90
- }
91
- return $ this ->factoryResolver ;
92
- default :
93
- throw new RuntimeException ('No definition resolver was configured for definition of type ' . get_class ($ definition ));
94
- }
81
+ return match (true ) {
82
+ $ definition instanceof ObjectDefinition => $ this ->objectResolver ??= new ObjectResolver ($ this ->container , $ this ),
83
+ $ definition instanceof FactoryDefinition => $ this ->factoryResolver ??= new FactoryResolver ($ this ->container , $ this ),
84
+ default => throw new RuntimeException ('No definition resolver was configured for definition of type ' . get_class ($ definition )),
85
+ };
95
86
}
96
87
}
0 commit comments