/** * @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); }