Fat-Free框架下如何解析PUT请求的查询参数?
Fat-Free框架解析PUT请求参数的解决办法
手动解析表单格式的PUT请求体
如果前端发送的是application/x-www-form-urlencoded类型的PUT请求,直接读取原始请求体并解析:$putRaw = file_get_contents('php://input'); parse_str($putRaw, $putParams); // 将解析后的参数存入F3全局变量,方便后续调用 $f3->set('PUT', $putParams); // 之后就可以像GET/POST一样使用:$f3->get('PUT.key')解析JSON格式的PUT请求体
若请求Content-Type为application/json,则需要解析JSON字符串:$putRaw = file_get_contents('php://input'); $putParams = json_decode($putRaw, true); if ($putParams === null) { // 处理JSON解析失败的情况 } $f3->set('PUT', $putParams);利用F3内置的Web类处理
可以通过Web实例的request方法统一处理请求体:$web = \Web::instance(); $putParams = $web->request(); $f3->set('PUT', $putParams);
补充说明:
Fat-Free框架默认仅自动解析GET和POST请求的参数(针对表单格式),PUT请求不会自动完成解析操作,所以直接调用$f3->get('PUT')会返回空值。如果之前尝试的REQBODY无效,是因为它返回的是原始未解析的请求体字符串,需要手动对其进行解析后才能使用。
内容的提问来源于stack exchange,提问作者askuzenkov
相关产品推荐
相关产品推荐

