php 路由实现_PHP路由原理

路由的原理

路由主要将URL中的控制器,办法解析出来,映射到对应的控制器和办法中。

通常咱们会看到这样的地址http://127.0.0.1/0514/route.php/acton/del/id/10/name/admin,这个地址咱们要把它解析出来。

示例:

在浏览器地址栏输入以下

http://127.0.0.1/0514/route.php/acton/del/id/10/name/admin

后台部分:

//创建一个控制器类

classUserController

{

publicfunctiondel($id,$name)

{

echo'当时途径控制器为'.__CLASS__;

echo'


';

echo'当时办法为'.__FUNCTION__;

echo'


';

return"id==>$id,name==>$name";

}

}

//1.解析出PATHINFO

$pathinfo=array_values(array_filter(explode('/',$_SERVER['PATH_INFO'])));

//2.解析控制器

$controller=array_shift($pathinfo).'controller';

//3.解析控制器中的办法

$action=array_shift($pathinfo);

//4.解析参数

parse_str($_SERVER['QUERY_STRING'],$params);

$params=[];

for($i=0;$i

//检查当时pathinfo变量是否有值?

if(isset($pathinfo[$i+1])){

$params[$pathinfo[$i]]=$pathinfo[$i+1];

}

}

//print_r($params);

//5.调用控制器办法

$user=new$controller;

echo$user->$action(...array_values($params));

打印:

当时途径控制器为UserController

当时办法为del

id==>10,name==>admin

路由的作用

将URL的恳求优雅的对应到要履行的操作办法

总结

通过这节课的学习,我认识到了路由的优点,只需要将途径解析好,就可以将网络恳求的URL对应PHP应用层的逻辑处理地址,优点非常多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值