我是宁静架构的新手,我想从头开始为我的应用程序创建一个简单的api .....没有任何框架。目前我正在尝试了解如何在我的URI中获取“users”参数,以便我可以将操作路由到处理用户登录和注册的控制器。到目前为止,我已经能够使用“$ _SERVER ['REQUEST_URI']”和使用“$ _SERVER ['REQUEST_METHOD']”的post方法查看我的URI,但我无法获取请求的“users”参数当我添加“使用者”时,它返回404错误。请提前告诉我......这是如何运作的以及我做错了什么,提前谢谢。
这是我的代码
$method = $_SERVER['REQUEST_METHOD'];
$path = $_SERVER['REQUEST_URI'];
$resource = array_shift($path);
if($resource == 'users'){
$name = array_shift($path);
if(empty($name)){
echo $method;
}else{
echo $method ." ".$name;
}
}else{
header('HTTP/1.1 404 Not Found');
}
答案 0 :(得分:0)
当您转到/users
网址时,服务器会尝试访问该特定网页,并且没有任何内容。您需要使用查询字符串传入您想要的任何路径
请/calendar_app_api?route=users
或/calendar_app_api?user_id=1
然后通过$_GET
数组获取信息。
或者您可以做的是配置服务器以将所有请求路由到一个索引文件,然后强制将任何内容作为查询传递。 check this resource out
答案 1 :(得分:0)
$_SERVER['REQUEST_URI']
不返回数组,因此我认为array_shift
不会返回您的想法。您可以使用pathinfo
获取所有路径组件的数组,包括文件名,这将是URL中最后一个斜杠后面的路径的一部分:
$pathinfo = pathinfo($_SERVER['REQUEST_URI']);
$resource = $pathinfo['filename'];