private function matchRoute($uri) { if (Route::getByURL($uri)) { $route = Route::getByURL($uri); $routeName = $route->getController(); $file = $routeName . '_controller.php'; if (file_exists(CONTROLLER . $file)) { require_once CONTROLLER . $file; $className = ucfirst($routeName) . 'Controller'; if (class_exists($className)) { return new $className(); } else { while ($underscorePos = strpos($className, '_')) { if (strlen($className) > $underscorePos + 1) { $className[$underscorePos + 1] = strtoupper($className[$underscorePos + 1]); $className = str_replace('_', '', $className); } } if (class_exists($className)) { return new $className(); } else { Utils::getNotFoundResponse()->send(); } } } } else { if (strtolower($uri) == '' && ($route = Route::getByURL('default'))) { $file = $route->getController() . '_controller.php'; if (file_exists(CONTROLLER . $file)) { require_once CONTROLLER . $file; $className = ucfirst($route->getController()) . 'Controller'; if (class_exists($className)) { return new $className(); } } } else { Utils::getNotFoundResponse()->send(); } } return false; }