URL路由

    很多情况下网站会有一些路由url比较长,想自定义符合某一个规则的url映射到特定的控制器方法,也就是自定义url路由功能。
下面对自定义路由功能进行说明:

自定义路由模式。
    比如:
    (1).http://localhost/index.php?welcome.index
    (2).http://localhost/index.php/welcome.index
    路由字符串是welcome.index(不包含最前面的?或者/),路由规则都是针对“路由字符串”的。
    现在定义路由规则:
    $system['route']=array(
        "/^welcome\\/?(.*)$/u" => 'welcome.ajax/$1'
    );
    路由规则说明:
    1.路由规则是一个关联数组。
    2.路由规则数组的key是匹配浏览器中输入的“路由字符串”的正则表达式。
    3.路由规则数组的value是替换后的路由字符串,也就是系统最终使用的“路由字符串”。
    为了更好的理解路由的工作原理,下面结合系统中处理“路由字符串”的方法进行说明。
    方法如下:
private static function checkRouter($pathinfo_query) {
$system = systemInfo();
if (is_array($system['route'])) {
    foreach ($system['route'] as $reg => $replace) {
        if (preg_match($reg, $pathinfo_query)) {
            $pathinfo_query = preg_replace($reg, $replace, $pathinfo_query);
            break;
        }
    }
}
return $pathinfo_query;
}
方法中的$pathinfo_query就是“路由字符串”,方法返回的$pathinfo_query就是系统最终使用的“路由字符串”。