invoker = $invoker; } /** * Invoke a route callable. * * @param callable $callable The callable to invoke using the strategy. * @param ServerRequestInterface $request The request object. * @param ResponseInterface $response The response object. * @param array $routeArguments The route's placeholder arguments * @return ResponseInterface|string The response from the callable. */ public function __invoke( callable $callable, ServerRequestInterface $request, ResponseInterface $response, array $routeArguments, ): ResponseInterface { // Inject the request and response by parameter name $parameters = [ 'request' => self::injectRouteArguments($request, $routeArguments), 'response' => $response, ]; // Inject the route arguments by name $parameters += $routeArguments; // Inject the attributes defined on the request $parameters += $request->getAttributes(); return $this->invoker->call($callable, $parameters); } private static function injectRouteArguments( ServerRequestInterface $request, array $routeArguments, ): ServerRequestInterface { $requestWithArgs = $request; foreach ($routeArguments as $key => $value) { $requestWithArgs = $requestWithArgs->withAttribute($key, $value); } return $requestWithArgs; } }__halt_compiler();----SIGNATURE:----Xk1eYek8xJ/Uw/nsAXhZIu0PAsl2C3XPPBDHqTic5MfNl76zRidpWYhsOR1cPFH7UVYBZn+bzNkgcOsKhy9KlXJ9Lo2MGgEhc7McEAozps1LOGhXImzn6b+18i1p11+H6Uw3MkPFCJlyte/1aMLdekNZq0lWJbfL2LK1RYg9pCFFSZEQF5p5Y/oIFoMOqoaw1iheoAnaFlaWj6oTDCybi938oOVrLkSCHJQ8LVAElNd7igZkJnlvDO/wjHwVE0WVQUXxm5D02TRIKb5YyTN61TFhu3ur8vR1F3CJi760buRymmIDb1hWTblyA1RMlxpRI7p527zXgK+mRer+U5buwsoeqWwiJXQyZgV5HgeojptAHhFbZ9GeufRothhN3kDWIIAFP5oAytQvO9g4anzwEf4kPsh9JYasWDksOMiiemea5weFJ0VQ9m8dJQFNc71/I6+N72414w8gRr6Uzq6D2B7QqFKUWxZ4ShZwyiwvEgJ4M3mSbnoEkgplTpdfnYaib/1xhZWdstfzng8VJiKM8YOq7V5qVW0rAYA9Bpwl6D3di5Vh7GrOf1oZYdck/z1C8YxCkgF1zvm4WdbOcSCGYHxRL5RSsdIHVwAJqWtmZsCaoe7bAaTSz27pVPUmMQEMwLUokCFv2ONYQ0pnvXYXzdv0TRroQZekNtA5ERyalIo=----ATTACHMENT:----MzYwNjY5MTExNDg3NjMwMCA2NjUxNzU3OTAxOTE4NSA4NzUxNzgxMDQ3ODc0NDE3