25
25
*/
26
26
final class MiddlewareFactory
27
27
{
28
- private ContainerInterface $ container ;
29
- private WrapperFactoryInterface $ wrapperFactory ;
30
-
31
28
/**
32
29
* @param ContainerInterface $container Container to use for resolving definitions.
33
30
*/
34
- public function __construct (ContainerInterface $ container , WrapperFactoryInterface $ wrapperFactory )
35
- {
36
- $ this -> container = $ container ;
37
- $ this -> wrapperFactory = $ wrapperFactory ;
31
+ public function __construct (
32
+ private ContainerInterface $ container ,
33
+ private WrapperFactoryInterface $ wrapperFactory
34
+ ) {
38
35
}
39
36
40
37
/**
@@ -55,7 +52,7 @@ public function __construct(ContainerInterface $container, WrapperFactoryInterfa
55
52
*
56
53
* @throws InvalidMiddlewareDefinitionException
57
54
*/
58
- public function create ($ middlewareDefinition ): MiddlewareInterface
55
+ public function create (array | callable | string $ middlewareDefinition ): MiddlewareInterface
59
56
{
60
57
if ($ this ->isMiddlewareClassDefinition ($ middlewareDefinition )) {
61
58
/** @var MiddlewareInterface */
@@ -80,22 +77,18 @@ public function create($middlewareDefinition): MiddlewareInterface
80
77
}
81
78
82
79
/**
83
- * @param mixed $definition
84
- *
85
80
* @psalm-assert-if-true class-string<MiddlewareInterface> $definition
86
81
*/
87
- private function isMiddlewareClassDefinition ($ definition ): bool
82
+ private function isMiddlewareClassDefinition (mixed $ definition ): bool
88
83
{
89
84
return is_string ($ definition )
90
85
&& is_subclass_of ($ definition , MiddlewareInterface::class);
91
86
}
92
87
93
88
/**
94
- * @param mixed $definition
95
- *
96
89
* @psalm-assert-if-true array|Closure $definition
97
90
*/
98
- private function isCallableDefinition ($ definition ): bool
91
+ private function isCallableDefinition (mixed $ definition ): bool
99
92
{
100
93
if ($ definition instanceof Closure) {
101
94
return true ;
@@ -113,19 +106,17 @@ class_exists($definition[0]) ? get_class_methods($definition[0]) : [],
113
106
}
114
107
115
108
/**
116
- * @param mixed $definition
117
- *
118
109
* @psalm-assert-if-true ArrayDefinitionConfig $definition
119
110
*/
120
- private function isArrayDefinition ($ definition ): bool
111
+ private function isArrayDefinition (mixed $ definition ): bool
121
112
{
122
113
if (!is_array ($ definition )) {
123
114
return false ;
124
115
}
125
116
126
117
try {
127
118
DefinitionValidator::validateArrayDefinition ($ definition );
128
- } catch (InvalidConfigException $ e ) {
119
+ } catch (InvalidConfigException ) {
129
120
return false ;
130
121
}
131
122
0 commit comments