Example #1
0
 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;
 }