From 0a14f6b2a942c921e2e58f2d1c0f0806a8093560 Mon Sep 17 00:00:00 2001 From: mychidarko Date: Sat, 3 Jun 2023 22:02:44 +0000 Subject: [PATCH] fix: patch up namespace issue --- src/Router.php | 1 + src/Router/Core.php | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/Router.php b/src/Router.php index b05895e..7358ed1 100644 --- a/src/Router.php +++ b/src/Router.php @@ -143,6 +143,7 @@ public static function match(string $methods, string $pattern, $handler) static::$namedRoutes[$routeOptions['name']] = $pattern; } + if ($routeOptions['middleware']) { static::before($methods, $rawPattern, $routeOptions['middleware']); } diff --git a/src/Router/Core.php b/src/Router/Core.php index fb98853..ec5fccc 100644 --- a/src/Router/Core.php +++ b/src/Router/Core.php @@ -171,6 +171,19 @@ protected static function mapHandler($handler, $options): array || is_numeric($key) && is_string($value) && strpos($value, '@') ) { $handler = $handler[$key]; + + if (is_string($handler)) { + $namespace = static::$namespace; + + if ($options['namespace']) { + static::$namespace = $options['namespace']; + } + + $handler = str_replace('\\\\', '\\', static::$namespace . "\\$handler"); + + static::$namespace = $namespace; + } + unset($handlerData[$key]); break; }