首先看一下現有的檔案目錄
document_roor 為 /home/www目錄
然後看一下入口檔案的內容
<?php
$controll_action = $_get['_ca_'];
$params = explode('/',$controll_action);
$params_count = count($params);
$otherparams = $params;
if($params_count>1) else if($params_count==1)
$filename = strtolower($controller).'.php';
if(!file_exists($controller_path.$filename))
include($controller_path.$filename);
$classname = ucfirst($controller);
if(!class_exists($classname))
$reflecobj = new reflectionclass($classname);
if(!$reflecobj->hasmethod($action))
$currentobj = new $classname();
echo "classname=$classname,action=$action,params=".json_encode($params)."
"; call_user_func_array([$currentobj,$action],$params);
return;
?>
<?php
class user
public function index($name='')
}
最後測試乙個正確的控制器跳轉和錯誤的控制器跳轉
首先測試一下正確的流程:
輸出內容:
classname=user,action=index,params=
hello,xiaoming,lucky,you are arrive here!
再測試一下不存在的控制器,
fatal error: uncaught exception 'exception' with message 'controller acount.php is not exists!' in /home/www/webroot/index.php:25stack trace:#0 thrown in/home/www/webroot/index.phpon line25
ok,就到這裡吧,祝大家春節快樂,幸福美滿。
php 路由實現 PHP實現乙個簡單url路由功能
game.weibo.com後面匹配到的項,指向了某個php頁面,然後根據引數獲取要訪問的遊戲應用標識,後資料庫或者快取裡查詢該應用標識,如果不存在則輸出錯誤提示,如果應用存在則載入遊戲應用鏈結位址。現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後...
乙個超級簡單的php框架
最近自己寫了乙個php框架,github位址如下 blakefez php framework command 該目錄用於存放cli模式下的command類 controller 該目錄用於存放cgi模式下的controller類 frame 該目錄用於存放框架的核心 blakefez.php 這是...
PHP實現乙個簡單url路由功能
現在寫乙個php例子,假設我的ip為192.168.0.33,我加了一層名為router的路徑,之後跟隨的是 模組名 方法名 引數1的key 引數1的value 也就是要呼叫ha這個模組中的router方法,並傳入url後面的引數 a b c d index 第一步,首先要在伺服器的配置上對 rou...