/** * @param Request $request * @return BaseController */ public function create(Request $request) { $route = Route::findRoute($request->getRoutePart(), $request->getRequestType() == 'GET' ? Route::METHOD_GET : Route::METHOD_POST); if ($route == null) { $route = Route::getDefault(); } $controllerName = "\\App\\Controllers\\" . $route->getControllerName(); $obj = new $controllerName(); $obj->setRequest($request); $obj->setRoute($route); return $obj; }
public function executeAction() { if ($this->route->isAuthRequired() && !Authentication::isAuthenticated()) { $loginRoute = Route::findRoute(\Config\App\LOGIN_PAGE_ROUTE, Route::METHOD_GET); $obj = ControllerHandler::instance()->redirectToRoute($loginRoute, $this->request); $action = $loginRoute->getAction(); $parameters = Route::getRouteParameters($this->route, $this->request); return call_user_method_array($action, $obj, $parameters); } $action = $this->route->getAction(); $parameters = Route::getRouteParameters($this->route, $this->request); return call_user_method_array($action, $this, $parameters); }
<?php \Framework\Application\Route::get("Home", "TestController", "index")->defaultRoute(); \Framework\Application\Route::get("Home/Test", "TestController", "test");
<?php use Framework\Application\Route; Route::get("Portal", "PortalController", "index")->defaultRoute(); Route::get("Survey/Overview", "SurveyController", "index")->authRequired(); Route::get("Survey/{value}", "SurveyController", "show")->authRequired(); Route::get("Survey/Vote/{value}", "SurveyController", "vote")->authRequired(); Route::get("Survey/Result/{value}", "SurveyController", "result")->authRequired(); Route::get("User/Login", "UserController", "login"); Route::get("User/Logout", "UserController", "logout")->authRequired(); Route::post("User/Login", "UserController", "processLogin"); Route::get("Register", "UserController", "register"); Route::post("Register", "UserController", "processRegistration");
public function executeAction() { $action = $this->route->getAction(); $parameters = Route::getRouteParameters($this->route, $this->request); return call_user_method_array($action, $this, $parameters); }