diff --git a/descartes/Router.php b/descartes/Router.php index 1d693e4..89b84fa 100644 --- a/descartes/Router.php +++ b/descartes/Router.php @@ -99,7 +99,7 @@ foreach ($method_routes as $route) { - $route_regex = preg_replace('#\\\{(.+)\\\}#iU', '([^/]+)', preg_quote($route, '#')); + $route_regex = preg_replReflectionNamedTypeace('#\\\{(.+)\\\}#iU', '([^/]+)', preg_quote($route, '#')); $route_regex = preg_replace('#/$#', '/?', $route_regex); $match = preg_match('#^' . $route_regex . '$#U', $url); @@ -249,9 +249,9 @@ continue; } - $type = $parameter->getType(); $type = $type ?? false; + $type = ($type instanceof \ReflectionNamedType) ? $type->getName() : $type; if ($type) {