callableResolver = $callableResolver; } /** * {@inheritdoc} */ public function resolve($toResolve): callable { return $this->callableResolver->resolve($this->translateNotation($toResolve)); } /** * {@inheritdoc} */ public function resolveRoute($toResolve): callable { return $this->resolvePossibleSignature($toResolve, 'handle', RequestHandlerInterface::class); } /** * {@inheritdoc} */ public function resolveMiddleware($toResolve): callable { return $this->resolvePossibleSignature($toResolve, 'process', MiddlewareInterface::class); } /** * Translate Slim string callable notation ('nameOrKey:method') to PHP-DI notation ('nameOrKey::method'). */ private function translateNotation($toResolve) { if (is_string($toResolve) && preg_match(\Slim\CallableResolver::$callablePattern, $toResolve)) { $toResolve = str_replace(':', '::', $toResolve); } return $toResolve; } private function resolvePossibleSignature($toResolve, string $method, string $typeName): callable { if (is_string($toResolve)) { $toResolve = $this->translateNotation($toResolve); try { $callable = $this->callableResolver->resolve([$toResolve, $method]); if (is_array($callable) && $callable[0] instanceof $typeName) { return $callable; } } catch (NotCallableException $e) { // Fall back to looking for a generic callable. } } return $this->callableResolver->resolve($toResolve); } }__halt_compiler();----SIGNATURE:----sdSCe56/Gn9+ITJQ+Q0Tl6V9wuT1o/rLxGVvjpKXF/hdPgUQcn5faKa1pvj78n6aq4V0/dX17CjgVPk4LafVIlFNX0WxVGfdw88qBUVpoXMVXnFGcCl4XZ/gcpqhS3OaplbMaEm/JexdfLnOO95NLmB83IooECiXFtQqzl4BK26QfyAotTqAiNV7jVIzok+/m42Q1K8JmDEAzC0sALj8NHoryJFfyYzc6iYVJrLd0Jv4+QmOqmYGyKPKdmPylyKQPNhMJ8ItHUQu9HYiBwcgYI2KqH5VRzDzndeSZ7Nvwh6/e5+Bn5zSaotFotNOEe0f6ySNGzSk2hK58tRTsSl8np7wgZ8px0QElX+nICdFWWX0SRGfwmbRlCxFXFz6pegBQomNMPv8hMwIe6lUN9NxILh0px8/Oxf5AXjN6PiLT9sVz1uhIb0e/8JnBYRpYrDs8xi12eZGRJUNNTLSa+pXIBm6nDNJYOlWcu6RdS23SozMJn+RquyXcQTK8uxMgFc0V2xeTA2OxOQOgw3ONeZID/JUNEa0LuQqCOKpxdti1et3PxTMy/vxk1Du8MvymRHLByoRREuOrBS95UuotncOtk1LxpNkiEQD+JkxunxdcQM7VS8aF+cNZlsKLIiFGVfVivJhgdhlXq+wU21Ots6HEPbbpELfj0acvvwqqUBbW40=----ATTACHMENT:----NTMzMDY1NDE0MjgwODU3MiAzODc1Nzc0OTU3MzMxNzIxIDYxNzU1MTY3MzQ3MDI3NDI=