乙個php簡單的框架實現,僅實現了簡單路由層

2021-07-26 09:31:01 字數 1542 閱讀 7330

首先看一下現有的檔案目錄

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...