批改狀態(tài):合格
老師批語:寫得不錯, 理解 了原理
*. 路由的原理與實現(xiàn):
* 從pathinfo地址切割為獨立的數(shù)組單元
* 從pathinfo數(shù)組中解析出:模塊,控制器和操作
* 從pathinfo數(shù)組中解析出:參數(shù)鍵值對
<?php //這里將是實現(xiàn)路由分發(fā)的網址如下: //http://php.io/2019/demo1.php/hello/id/6/name/admin //hello:方法 //id、name:參數(shù) //6、admin:參數(shù)值 $uri=$_SERVER['PATH_INFO']; // 1. 從pathinfo切割出獨立的單元 $request=explode('/',$uri); echo '<pre>'. print_r($request, true); // 2. 從pathinfo中解析出操作 $pathinfo['action']=$request[1]; echo '<pre>'. print_r($pathinfo, true); // 3. 從pathinfo中解析出變量鍵值對 $values = array_slice($request, 2); $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'].' ,參數(shù): '.$str; }; echo call_user_func_array($pathinfo['action'],$values);
點擊 "運行實例" 按鈕查看在線實例
運行后顯示如下:
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號