Example #1
0
 /**
  * Process router by default rules
  *
  * Default routers examples
  *     /
  *     /:module/
  *     /:module/:controller/
  *     /:module/:controller/:key1/:value1/:key2/:value2...
  *
  * @return bool
  */
 protected function processRoute()
 {
     $uri = Request::getCleanUri();
     $uri = trim($uri, '/');
     $params = explode('/', $uri);
     if (sizeof($params)) {
         Request::setModule(array_shift($params));
     }
     if (sizeof($params)) {
         Request::setController(array_shift($params));
     }
     if ($size = sizeof($params)) {
         // save raw params
         Request::setRawParams($params);
         // remove tail
         if ($size % 2 == 1) {
             array_pop($params);
             $size = sizeof($params);
         }
         // or use array_chunk and run another loop?
         for ($i = 0; $i < $size; $i = $i + 2) {
             Request::setParam($params[$i], $params[$i + 1]);
         }
     }
     return true;
 }