博主信息
博文 12
粉丝 0
评论 1
访问量 7265
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
8.7【路由的简单用法】
小陈先生的博客
原创
809人浏览过

实例

<?php


namespace zuoye;

/*
写一个简单的路由, 将URL地址直接路由一个函数上(注意不是类方法),
这个函数可以用闭包来实现, 大家想一下应该如何做?
为了简化代码, 大家可以暂时不考虑路由中的参数
* */
//请求url:http://php.io/0807/zuoye/route.php/Home/set/id/100/name/shazi
$uri = explode('/', $_SERVER['REQUEST_URI']);
echo '<pre>' . print_r($uri, true);

//从第下标为4的地方开始抓控制器,5为方法
$request['controller'] = $uri[4]."Controller";
$request['action'] = $uri[5];

//从6开始的下标是参数
$params = array_slice($uri,6);

$request['action']=function (...$arr) use( $request ){
   $a = [];
   for($i=0;$i<count($arr);$i=$i+2){
       if(isset($arr[$i+1])){
           $a[$arr[$i]]=$arr[$i+1];
       }
   }
   return '方法名:'.$request['action'].' ,参数: '. '<pre>' . print_r($a, true);
};
echo call_user_func_array($request['action'],$params);

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:路由可以写得很简单, 也可以写得很复杂, 但是路由的基本思想一定要搞明白, 这样不管是前端框架的路由, 还是php后端路由都能整明白
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学