Example #1
0
 /**
  * Begin to parse incoming URI
  * ------------------------------------------------------
  * @param string $url
  */
 private static function urlToPath($url)
 {
     self::$requestObject = new Request();
     # Clean Url to Part before ? Query and After
     $cleanedUri = strstr($url, '?', true);
     $cleanedQuery = null;
     if (!$cleanedUri) {
         $cleanedUri = $url;
     } else {
         $query = ltrim(strstr($url, '?'), '?');
         parse_str($query, $cleanedQuery);
     }
     # Explode Path
     $incomeUri = explode('/', $cleanedUri);
     $incomeLen = count($incomeUri);
     $resultRoute = array();
     $pathLast = null;
     $k = 0;
     for ($i = 0; $i < $incomeLen; $i++) {
         $curPiece = $incomeUri[$i];
         if (strlen($curPiece) > 0) {
             $qstr = explode('?', $curPiece);
             $resultRoute[$qstr[0]] = 1;
             $pathLast = $qstr[0];
             $k++;
         }
     }
     if ($k == 0) {
         $resultRoute["/"] = 1;
     }
     self::$requestObject->__setPath($cleanedUri);
     self::$requestObject->__setPathLastElement($pathLast);
     self::$routerQuery = $cleanedQuery;
     self::$routerPath = $resultRoute;
     self::$routerStarted = true;
 }