private function initRequest() { //init config $this->suffix = Config::get('router.suffix', ''); $this->_rewrite(); $this->_parseUrl(); $this->defaultApp = Config::get('router.app', $this->defaultApp); $this->defaultController = isset($this->application->router['controller']) ? $this->application->router['controller'] : $this->defaultController; $this->defaultAction = isset($this->application->router['action']) ? $this->application->router['action'] . 'Action' : $this->defaultAction . 'Action'; if (is_array($this->requestUri)) { $_param_len = count($this->requestUri); //alias $alias = \hmvc\Web\Config::get('alias'); if (is_array($alias)) { $appname = $this->requestUri[0]; if (isset($alias[$appname])) { $this->defaultApp = $alias[$appname]; $this->requestUri[0] = $alias[$appname]; } } switch ($_param_len) { case 1: if (Application::checkApp($this->requestUri[0])) { $this->defaultApp = ucwords($this->requestUri[0]); $this->_defaultController(); } else { if (Application::checkController(ucwords($this->requestUri[0]))) { } else { if (Application::checkAction(strtolower($this->requestUri[0]))) { } else { $this->_defaultController(); $this->application->request()->setParamArrays(array($this->requestUri[0])); } } } break; case 2: if (Application::checkApp($this->requestUri[0])) { $this->defaultApp = ucwords($this->requestUri[0]); if (Application::checkController(ucwords($this->requestUri[1]))) { $this->defaultController = ucwords($this->requestUri[1]); } else { if (Application::checkAction(ucwords($this->requestUri[1]))) { $this->defaultAction = ucwords($this->requestUri[1]); } else { $this->_notfound(); } } } else { if (Application::checkController(ucwords($this->requestUri[0]))) { $this->defaultController = ucwords($this->requestUri[0]); if (!Application::checkAction(strtolower($this->requestUri[1]))) { $this->_notfound(); } } else { // $this->_notfound(); $this->_defaultController(); $this->application->request()->setParamArrays($this->requestUri); } } break; case 3: if (Application::checkApp($this->requestUri[0])) { $this->defaultApp = ucwords($this->requestUri[0]); if (Application::checkController(ucwords($this->requestUri[1]))) { $this->defaultController = ucwords($this->requestUri[1]); } else { $this->_notfound(); return; } if (!Application::checkAction(ucwords($this->requestUri[2]))) { $this->_notfound(); return; } } else { if (Application::checkController(ucwords($this->requestUri[0]))) { $this->defaultController = ucwords($this->requestUri[0]); if (!Application::checkAction(ucwords($this->requestUri[1]))) { $this->application->request()->setParamArrays(array($this->requestUri[1], $this->requestUri[2])); } else { $this->application->request()->setParamArrays(array($this->requestUri[2])); } return; } else { // $this->_notfound(); $this->_defaultController(); $this->application->request()->setParamArrays($this->requestUri); } } break; case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: if (Application::checkApp($this->requestUri[0])) { $this->defaultApp = ucwords($this->requestUri[0]); if (Application::checkController(ucwords($this->requestUri[1]))) { $this->defaultController = ucwords($this->requestUri[1]); } else { $this->_notfound(); return; } if (Application::checkAction(ucwords($this->requestUri[2]))) { $this->prcParams(3, $_param_len); } else { $this->prcParams(2, $_param_len); } } else { if (Application::checkController(ucwords($this->requestUri[0]))) { $this->defaultController = ucwords($this->requestUri[0]); if (!Application::checkAction(ucwords($this->requestUri[1]))) { $this->prcParams(1, $_param_len); } else { $this->prcParams(2, $_param_len); } } else { $this->_defaultController(); $this->prcParams(0, $_param_len); // $this->application->request()->setParamArrays($this->requestUri); } } break; default: $this->_notfound(); break; } } else { $this->_defaultController(); } }