static function _route() { // search alias // save for debug message $request_uri = $_SERVER['REQUEST_URI']; // clean request uri $request_uri = preg_replace('/\\/.*\\?/', '/', $request_uri); $request_uri = str_replace(array('&', '='), '/', $request_uri); $request_uri = preg_replace('/^\\/|ctrl\\/|action\\/|\\/$/', '', $request_uri); if ($request_uri !== '') { // serach aliases foreach (system::_cfg('route_alias', array()) as $k => $v) { // string if (is_string($v)) { if ($request_uri == $k) { $request_uri = $v; break; } } else { $k = str_replace('/', '\\/', $k); $k = str_replace('.', '\\.', $k); foreach ($v as $rule => $vars) { foreach ($vars as $key => $value) { $k = str_replace('$' . ($key + 1), '(' . $value . ')', $k); } if (preg_match('/^' . $k . '$/', $request_uri)) { $request_uri = preg_replace('/' . $k . '/', $rule, $request_uri); break; } } } } } $_GET = array(); $_arr = explode('/', $request_uri); $_GET['ctrl'] = v::toWord(v::getFrom($_arr, 0, DEFAULT_CTRL)); $_GET['action'] = v::toWord(v::getFrom($_arr, 1, DEFAULT_ACTION)); array_shift($_arr); array_shift($_arr); for ($i = 0; $i < count($_arr); $i += 2) { $_GET[$_arr[$i]] = v::toWord(v::getFrom($_arr, $i + 1, '')); } //print_r($_GET); //die(); }