/**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }