千家信息网

如何使用PHP URL路由类

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"如何使用PHP URL路由类",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何使用PHP URL路由类"吧!支持默认控制器(ind
千家信息网最后更新 2026年11月04日如何使用PHP URL路由类

这篇文章主要讲解了"如何使用PHP URL路由类",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何使用PHP URL路由类"吧!

支持默认控制器(index)和方法(index):

复制代码 代码如下:

index.php
index.php/controller
index.php/controller/method
index.php/controller/method/prarme1/value1
index.php/controller/method/param1/value1/param2/value2.....

具体类如下:

复制代码 代码如下:

$APP_PATH= str_replace($_SERVER['DOCUMENT_ROOT'], '', __FILE__);
$SE_STRING=str_replace($APP_PATH, '', $_SERVER['REQUEST_URI']); //计算出index.php后面的字段 index.php/controller/methon/id/3
$SE_STRING=trim($SE_STRING,'/');
//echo $SE_STRING.'
';
//这里需要对$SE_STRING进行过滤处理。
$ary_url=array(
'controller'=>'index',
'method'=>'index',
'pramers'=>array()
);
//var_dump($ary_url);
$ary_se=explode('/', $SE_STRING);
$se_count=count($ary_se);

//路由控制
if($se_count==1 and $ary_se[0]!='' ){
$ary_url['controller']=$ary_se[0];

}else if($se_count>1){//计算后面的参数,key-value
$ary_url['controller']=$ary_se[0];
$ary_url['method']=$ary_se[1];
if($se_count>2 and $se_count%2!=0){ //没有形成key-value形式
die('参数错误');
}else{
for($i=2;$i < $se_count;$i=$i+2){
$ary_kv_hash=array(strtolower($ary_se[$i])=>$ary_se[$i+1]);
$ary_url[pramers]=array_merge($ary_url[pramers],$ary_kv_hash);
}
}
}


$module_name=$ary_url['controller'];
$module_file=MODULE_DIR.$module_name.'.class.php';
//echo $module_file;
$method_name=$ary_url['method'];
if(file_exists($module_file)){
include($module_file);
$obj_module=new $module_name(); //实例化模块m

if(!method_exists($obj_module, $method_name)){
die('方法不存在');
}else{
if(is_callable(array($obj_module, $method_name))){ //该方法是否能被调用
//var_dump($ary_url[pramers]);
$get_return=$obj_module->$method_name($ary_url[pramers]); //执行a方法,并把key-value参数的数组传过去
if(!is_null($get_return)){ //返回值不为空
var_dump($get_return);
}

}else{
die('该方法不能被调用');
}

}
}
else
{
die('模块文件不存在');
}
?>

感谢各位的阅读,以上就是"如何使用PHP URL路由类"的内容了,经过本文的学习后,相信大家对如何使用PHP URL路由类这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

路由 方法 代码 参数 学习 内容 模块 控制 字段 实例 就是 形式 思路 情况 控制器 数组 文件 文章 更多 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 广州紫鲸互联网科技有限公司 云信互联网科技有限公司 科技互联网产品 互联网 视角下的科技创新 互联网科技汛 卫星互联网科技股票 互联网教育科技公司vipkid 欧洲十大科技互联网公司 华服互联网科技官网 南山科技园互联网公司有哪些 全球顶尖互联网科技公司 互联网科技与管理 荆州市昕露互联网络科技有限公司 浙南科技城互联网大厦建设工程 山东有哪些互联网科技公司 城市宝互联网科技有限公司 互联网科技收购价值 互联网金融金融科技 山东亿川互联网科技有限责任公司 华服互联网科技靠谱吗 科技创新与互联网经济 深圳艾佳互联网科技 卓越科技互联网 招聘 盛创互联网科技有限公司 互联网校园科技培训 卓翼科技产业互联网合作 上海京穆互联网科技有限公司 长沙易易互联网科技有限公司 武汉亿视互联网科技有限公司
0