免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
當前位置:首頁文章首頁 IT學院 PHP

關于php url路由的實現

作者:  來源:  發布時間:2011-5-20 15:09:52  點擊:

這篇文章提供分享給大家,是關于php url路由的實現,下面的詳細的解析,希望對各位有所幫助。

1.符合規則定義的偽靜態訪問路徑解析

對于"test.php/user/lists/normal/id/2.html" 可解析為
control = user,action = lists,filter = normal,order = id,curPage = 3

對于"test.php/users/lists.html" 可解析為
control = user,action = lists,filter = all,order = '',curPage = 1 可取得規則定義中的默認值

2.不符合規則定義的偽靜態路徑解析

action,control 不符合規則
對于"test.php/users/lists/all/id1/1.html" 報錯
試圖訪問不存在的頁面

不符合匹配模式
對于"test.php/user/lists/all/id1/1.html" 可解析為
control = user,action = lists,filter = all,order = '',curPage = 1
可取得不符合匹配模式項目的默認值,上例 order 不符合匹配模式

定義路由規則時可以定義默認值,當在pathinfo中找不到匹配的值,能取得默認值

<?php

// url 路由規則定義

$urlRule = array(

    'user' => array(            // control

        'lists' => array(       // action

            //'名稱'    => '默認值,值模式匹配'

            'filter'    => 'all,^(all|normal|admin)$',

            'order'     => ',^-?[a-zA-Z_]+$',

            'curPage'   => '1,^[0-9]+$',

          ),

    ),

);

function parseUrl(){

        $queryString = array();

        $GLOBALS['control'] = 'index';

        $GLOBALS['action'] = 'index';

        if (isset($_SERVER['PATH_INFO'])){

                //獲取  pathinfo

                $aPathInfo = explode('/', substr($_SERVER['PATH_INFO'], 1, strrpos($_SERVER['PATH_INFO'], '.')-1));

                // 獲取 control

                $GLOBALS['control'] = $aPathInfo[0];

                array_shift($aPathInfo);

                // 獲取 action

                $GLOBALS['action'] = (isset($aPathInfo[0]) ? $aPathInfo[0] : 'index');

                array_shift($aPathInfo);

                // 獲取 入口文件名

                $GLOBALS['PHP_SELF'] = str_replace($_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF']);

                $queryString = $aPathInfo;

        }

        parseQueryString($queryString);

}

function parseQueryString(array$aQueryString){

        $queryString = array();

        // control 與 action 為默認值時 

        if ($GLOBALS['control'] == 'index' && $GLOBALS['action'] == 'index'){

                $GLOBALS['queryString'] = $queryString;

                return true;

首頁 上一頁 [1] [2] [3]  下一頁 尾頁

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
主站蜘蛛池模板: 久久综合精品国产一区二区三区| 日韩视频免费在线播放| 欧美一级片网| 国产一区二区电影在线观看| 日本一二三高清| 雄y体育教练高h肌肉猛男| 征服人妇系列200| 国产一二在线观看视频网站 | 97久视频精品视频在线老司机| 久久影院最新消息| 全彩口工彩漫画无遮漫画| 护士们的放荡交换全文| 国语露脸| 黄页网址大全免费观看22| yuijizz| 国产l精品国产亚洲区在线观看| 国产一级毛片视频在线!| 欧美激情在线播放一区二区三区 | 琪琪女色窝窝777777| 国产一区二区三区在线观看免费 | 国产成人久久久精品二区三区| 欧美裸体xxxx极品少妇| 精品久久久无码中字| 日本精品少妇一区二区三区| 久久国产免费观看精品3| 国产精品一区12P| 国产精品无码免费视频二三区| 国产全黄一级毛片| 美女扒开尿口给男人桶视频免费| 处破女第一次亚洲18分钟| 嘿咻视频免费网站| 亚洲www| 91全国探花精品正在播放| 亚洲成人aaa| 国产精品久久久久影院免费| 亚洲国产成AV人天堂无码| 亚洲精品乱码久久久久久蜜桃| 法国性经典xxxxhd| 日日噜噜夜夜爽爽| 午夜私人影院免费体验区| 国产亚洲综合一区二区三区|