博主信息
博文 13
粉丝 0
评论 2
访问量 11901
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
8.7路由
55555的博客
原创
871人浏览过

//  路由的基本功能:将URL地址pathinfo,映射到指定的控制器方法中
//  路由是一个请求分发器

<?php

//  路由的基本功能:将URL地址pathinfo,映射到指定的控制器方法中
//  路由是一个请求分发器

//  http://700***/0807/demo/mvc/route2.php/product/id/3/price/36.9

//product:方法
//id、name:参数

$uri = $_SERVER['PATH_INFO'];
echo $uri;
echo '<hr>';
// 输出:/product/id/3/price/36.9

//  1、从pathinfo切割出独立的单元
$request = explode('/', $uri);
echo '<pre>' . print_r($request, true);
echo '<hr>';

//  2、从pathinfo中解析出操作
$pathinfo['action'] = $request[1];
echo '<pre>' . print_r($pathinfo, true);
echo '<hr>';

//  3、从pathinfo中解析出变量键值对
$values = array_slice($request,2);
echo '<pre>' . print_r($values,true);
echo '<hr>';


$pathinfo['action'] = function (...$arr) use ($pathinfo){
  for ($i=0; $i<count($arr); $i+=2){
      if (isset( $arr[$i+1] )){
          $params[$arr[$i]] = $arr[$i+1];
      }
  }

  $str = '';
  foreach ($params as $key=>$value) {
        $str .= $key . ' = ' .$value .'  ';
  }
  return '方法名:' . $pathinfo['action'] . '参数:' . $str;
};

echo call_user_func_array($pathinfo['action'], $values);


显示效果:

    QQ截图20190809160958.jpg


批改状态:合格

老师批语:以后, 这样的作业 , 应该有一个总结的, 直接放上代码就提交, 过上一个月, 你自己都不知道写的是什么?
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学