private static function parse()
{
$splitFlag = SlightPHP::getSplitFlag();
$splitFlag = $splitFlag[0];
foreach (self::$_Routes as $route) {
$pattern = $route['pattern'];
foreach ($route as $k => $v) {
if (preg_match("/:\\w+/", $k)) {
$pattern = str_replace("{$k}", "({$v})", $pattern);
}
}
if (preg_match_all("/{$pattern}/sm", !empty($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : $_SERVER['REQUEST_URI'], $_m)) {
array_shift($_m);
$params = array();
if (!empty($_m)) {
foreach ($_m as $_m2) {
$params[] = $_m2[0];
}
}
$params = implode($splitFlag, $params);
$zone = empty($route['zone']) ? SlightPHP::getDefaultZone() : $route['zone'];
$page = empty($route['page']) ? SlightPHP::getDefaultPage() : $route['page'];
$entry = empty($route['entry']) ? SlightPHP::getDefaultEntry() : $route['entry'];
$PATH_INFO = "{$zone}{$splitFlag}{$page}{$splitFlag}{$entry}{$splitFlag}{$params}";
SlightPHP::setPathInfo($PATH_INFO);
break;
}
}
}