Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
$_SERVER
,记录url请求的各种信息,例如当服务器收到类似http://moon.io/0222/api/moon.php/user/index/id/1/name/moon
这种url请求时,通过var_dump($_SERVER)
可获得如下图数据通过解析pathinfo信息,达到访问,moon.php中的index方法,代码如下
<?php
namespace mvc;
class User
{
function index($id, $name)
{
return "您好$name,您的id是$id";
}
}
$pathinfo = array_values(array_filter(explode("/", $_SERVER['PATH_INFO'])));
$controller = __NAMESPACE__ . '\\' . array_shift($pathinfo);
$method = array_shift($pathinfo);
for ($i = 0; $i < count($pathinfo); $i += 2) {
$params[$pathinfo[$i]] = $pathinfo[$i + 1];
}
echo call_user_func_array([(new $controller), $method], $params);
上述代码执行结果如下: