From 7076343338ae3439f3c86f01144818abe8c31978 Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Sun, 12 Mar 2023 07:16:23 +0200 Subject: add container helpers; constuct public directory-tree --- classes/Route.php | 97 ------------------------------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 classes/Route.php (limited to 'classes/Route.php') diff --git a/classes/Route.php b/classes/Route.php deleted file mode 100644 index 072723c..0000000 --- a/classes/Route.php +++ /dev/null @@ -1,97 +0,0 @@ - $expression, - 'function' => $function, - 'method' => strtolower($method) - )); - } - - - /** notFound($function) - * --- - * @param $function : call back function to be executed - */ - public static function notFound($function) - { - self::$notFound = $function; - } - - - /** run() - * --- - * Parse request ; Find mathing route ; - * then call route's function - * usualy a Controller::method([poarametres]) - */ - public static function run(Request $request) - { - // $request = Registry::get('REQUEST'); - $path = $request->PATH; // request path - $method = $request->METHOD; // request method - - $path_match_found = false; - $route_match_found = false; - - foreach(self::$routes as $route) { - - // If method matched check the path - if ($route['method'] == $method || $method == 'any') { - - // Add 'find string start' automatically - $route['expression'] = '^'.$route['expression']; - - // Add 'find string end' automatically - $route['expression'] = $route['expression'].'$'; - - // Check path match - if (preg_match('#'. $route['expression'] .'#', $path, $matches)) { - - $route_match_found = true; - - array_shift($matches); // Always remove first element. This contains the whole string - - call_user_func_array($route['function'], $matches); - break; // Do not check other routes - - } - } - } - - // No matching route was found - if (!$route_match_found) { - header("HTTP/1.0 404 Not Found"); - if (self::$notFound) { - call_user_func_array(self::$notFound, []); - } - } - - } - -} -- cgit v1.2.3