Example #1
0
 /**
  * translates information of the request for application
  * @param Request &$request the request
  */
 function __construct(Request &$request)
 {
     $this->routes = Config::getRoutes();
     $params = [];
     $uri = $request->uri;
     if (array_key_exists($uri, $this->routes)) {
         $request->namespace = $this->routes[$uri]['options']['namespace'];
         $request->controller = ucfirst($this->routes[$uri]['options']['controller']);
         $request->action = $this->routes[$uri]['options']['action'];
         if (isset($this->routes[$uri]['params'])) {
             $request->params = $this->routes[$uri]['params'];
         }
     } else {
         $uri = substr($request->uri, 1);
         $tmp = explode('/', $uri);
         $request->namespace = Config::getDefaultNamespace();
         $request->controller = ucfirst($tmp[0]);
         $request->action = isset($tmp[1]) ? $tmp[1] : Config::getDefaultAction();
         if (isset($tmp[2]) && !empty($tmp[2])) {
             $request->params = array_slice($tmp, 2);
         }
     }
 }