現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後跟隨的是 「/模組名/方法名/引數1的key/引數1的value/….」
也就是要呼叫ha這個模組中的router方法,並傳入url後面的引數/a/b/c/d/index………….
第一步,首先要在伺服器的配置上對/router/路徑進行攔截
呼叫某個資料夾目錄下的index.php頁面,假定現在所有模組使用單獨的檔案存放於class目錄下,該目錄與router平級,如下圖所示:
第二步,路由分發器的實現(index.php)
die('引數錯誤');
54: } else
59: }
60:
61: $module_name = $arr_url['controller'];
62: $module_file = module_dir.$module_name.'.class.php';
63: $method_name = $arr_url['method'];
64:
65:if (file_exists($module_file)) else
78: }
79:
80: } else
83:
84:
85: ?>
86:
87:
88:獲取請求的uri,然後拿到要載入的模組名、呼叫方法名,對uri引數進行簡單的判斷..
第三步,模組的編寫
根據上述的uri,我們要呼叫的是hello模組下的router方法,那麼可以在class目錄下定義乙個名為hello.class.php的檔案(注意linux下是區分大小寫的)
<?php
2:
3:class hello
11:
12:function router()
16:
17:function printresult()
23: }
24:
25: ?>同理,我們可以編寫ha模組..
這算是實現了很簡單的url路由分發功能了…
PHP實現乙個簡單url路由功能
game.weibo.com後面匹配到的項,指向了某個php頁面,然後根據引數獲取要訪問的遊戲應用標識,後資料庫或者快取裡查詢該應用標識,如果不存在則輸出錯誤提示,如果應用存在則載入遊戲應用鏈結位址。現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後...
PHP實現乙個簡單url路由功能
game.weibo.com後面匹配到的項,指向了某個php頁面,然後根據引數獲取要訪問的遊戲應用標識,後資料庫或者快取裡查詢該應用標識,如果不存在則輸出錯誤提示,如果應用存在則載入遊戲應用鏈結位址。現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後...
php 路由實現 PHP實現乙個簡單url路由功能
game.weibo.com後面匹配到的項,指向了某個php頁面,然後根據引數獲取要訪問的遊戲應用標識,後資料庫或者快取裡查詢該應用標識,如果不存在則輸出錯誤提示,如果應用存在則載入遊戲應用鏈結位址。現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後...