@@ -144,8 +144,11 @@ private function createCallableWrapper(callable $callback): MiddlewareInterface
144
144
return new class ($ callback , $ this ->container , $ this ->parametersResolver ) implements MiddlewareInterface {
145
145
/** @var callable */
146
146
private $ callback ;
147
- /** @var ReflectionParameter[] */
148
- private array $ callableParameters ;
147
+ /**
148
+ * @var ReflectionParameter[]
149
+ * @psalm-var array<string,ReflectionParameter>
150
+ */
151
+ private array $ callableParameters = [];
149
152
150
153
public function __construct (
151
154
callable $ callback ,
@@ -154,7 +157,11 @@ public function __construct(
154
157
) {
155
158
$ this ->callback = $ callback ;
156
159
$ callback = Closure::fromCallable ($ callback );
157
- $ this ->callableParameters = (new ReflectionFunction ($ callback ))->getParameters ();
160
+
161
+ $ callableParameters = (new ReflectionFunction ($ callback ))->getParameters ();
162
+ foreach ($ callableParameters as $ parameter ) {
163
+ $ this ->callableParameters [$ parameter ->getName ()] = $ parameter ;
164
+ }
158
165
}
159
166
160
167
public function process (
@@ -168,6 +175,7 @@ public function process(
168
175
$ this ->parametersResolver ->resolve ($ this ->callableParameters , $ request )
169
176
);
170
177
}
178
+
171
179
/** @var MiddlewareInterface|mixed|ResponseInterface $response */
172
180
$ response = (new Injector ($ this ->container ))->invoke ($ this ->callback , $ parameters );
173
181
if ($ response instanceof ResponseInterface) {
@@ -176,6 +184,7 @@ public function process(
176
184
if ($ response instanceof MiddlewareInterface) {
177
185
return $ response ->process ($ request , $ handler );
178
186
}
187
+
179
188
throw new InvalidMiddlewareDefinitionException ($ this ->callback );
180
189
}
181
190
@@ -193,8 +202,11 @@ public function __debugInfo(): array
193
202
private function createActionWrapper (string $ class , string $ method ): MiddlewareInterface
194
203
{
195
204
return new class ($ this ->container , $ this ->parametersResolver , $ class , $ method ) implements MiddlewareInterface {
196
- /** @var ReflectionParameter[] */
197
- private array $ actionParameters ;
205
+ /**
206
+ * @var ReflectionParameter[]
207
+ * @psalm-var array<string,ReflectionParameter>
208
+ */
209
+ private array $ actionParameters = [];
198
210
199
211
public function __construct (
200
212
private ContainerInterface $ container ,
@@ -204,9 +216,10 @@ public function __construct(
204
216
/** @var non-empty-string */
205
217
private string $ method
206
218
) {
207
- $ this ->actionParameters = (new ReflectionClass ($ this ->class ))
208
- ->getMethod ($ this ->method )
209
- ->getParameters ();
219
+ $ actionParameters = (new ReflectionClass ($ this ->class ))->getMethod ($ this ->method )->getParameters ();
220
+ foreach ($ actionParameters as $ parameter ) {
221
+ $ this ->actionParameters [$ parameter ->getName ()] = $ parameter ;
222
+ }
210
223
}
211
224
212
225
public function process (
0 commit comments