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:----qnBDfDwF39uMy1Xu/tOcqBIboUElskgjU6M1fGCgGahM/pIXIBZAmmoetQhm93FhKdFozOlGNf47ZjolkH0ljItXtQL9OpWFi3JAF28f+gpUjuM1KfBrz0dP+ZYZm2uQh2v/IcKyjBJEyPeRb01AnoVrXPI/1FE19fLm5znNBVYSyVKH9hCgRIAfT0JrrEXe/Xtz+5E1I0RV+us7k7OCxiYwU8krB5nQIwmadu5WOeT/tLA7RI9n+FGo435i85rrFqWWs9ABbGte9bZHz0P568B3qzz51oetj/zO0Nqk+rZD/bPtlp58UIfRC8E8RdUcOpQObc/wlghYmXRPpmm3PEQWnJr+6J1/slL/mG1VL6W1zVB4Q3T1mdEv7AzIiABsmQ/qC3N+nJ8lBb8IN5gA4CqbzhMldFK2q2j4c1Ekb4bR+y2VXhkMwCcL/mrnfdWNH4NBoCVc30ZyjdhoWDT4VzFEfvLCMTSEX9wpph4587S0gvGf6aFfaX+rNF1oz5WC38hR1HSuj0FkMmO7SqQDdz5RzwLfsiQk4iF+xjKOr9/NL3pByA62h/adGzvp9qHupQ7TZgmvKCFmZIWJwshSYwzwGPe0f/j/RQ9+28fJuysX3a7VtacUz6MTPkFJKx5au3T8g6B6EF3HZa3AR3WTT2Xv0VCDsFDR9KxqnaRBTuE=----ATTACHMENT:----NDE4ODM4MTQ4MDkzMTM2MiA5MTE3NDg2OTEyODU1MTQ2IDg5ODgwMzYwNzQ2NDA3ODc=