/** * Returns a View object. * * @route GET /?method=example.request * @route GET /example/request * * @param Request $request * @return View */ public function requestAction($request) { $view = new View(); $view->setLayout('main'); $view->method = $request->getMethod(); $view->controller = $request->getController(); $view->action = $request->getAction(); $view->baseUrl = $request->getBaseUrl(); $view->urlPath = $request->getUrlPath(); $view->params = $request->getParams(); return $view; }
/** * Find a matching route to the current url path and inject * returning values to the Request object. * * @return Request object */ public function route(Request $request) { if (!$this->hasRoute('default')) { $route = array('controller' => 'index', 'action' => 'index'); $compat = new RouteStatic('default', $route); $this->routes = array_merge(array('default' => $compat), $this->routes); } $urlPath = $request->getUrlPath(); foreach (array_reverse($this->routes) as $name => $route) { if ($params = $route->match($urlPath)) { $this->setRequestParams($request, $params); break; } } return $request; }