Blogger Information
Blog 12
fans 0
comment 1
visits 5851
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
8.7【路由的简单用法】
小陈先生的博客
Original
648 people have browsed it

实例

<?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);

运行实例 »

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


Correction status:qualified

Teacher's comments:路由可以写得很简单, 也可以写得很复杂, 但是路由的基本思想一定要搞明白, 这样不管是前端框架的路由, 还是php后端路由都能整明白
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post