某些 web server 会直接忽略 GET、DELETE 请求的 Body 部分,只支持 URI 参数,而 POST、PUT 请求又直接忽略 URI 参数。
Workerman/Webman 把 URI 参数归到了 GET 请求里面,把 Body 参数归到了 POST 请求里面了。
所以实际上不管你用 GET、POST、PUT、DELETE 等的任何请求,如果参数放到 URI 中,你可以使用 $request->get('name') ,如果参数放到 Body 里面,那么可以使用 $request->post('name') 。为了方便获取请求参数,可以使用 $request->input('name') 获取 URI 或 Body 的参数,而不用在意是何种请求。
如果你非要使用 Request::put('name')、Request::delete('name')、Request::param(['name'=>'']) ,可以自己重写一下 support/Request 类,增加几个方法即可。上面说过了,URI 和 Body 参数分别被归到了 GET 和 POST 请求参数里面了,所以可以使用 $request->all() 可以获取所有参数,然后自己做判断即可。
你说的这些方法都不支持。
某些
web server
会直接忽略GET
、DELETE
请求的Body
部分,只支持URI
参数,而POST
、PUT
请求又直接忽略URI
参数。Workerman/Webman
把URI
参数归到了GET
请求里面,把Body
参数归到了POST
请求里面了。所以实际上不管你用
GET
、POST
、PUT
、DELETE
等的任何请求,如果参数放到URI
中,你可以使用$request->get('name')
,如果参数放到Body
里面,那么可以使用$request->post('name')
。为了方便获取请求参数,可以使用$request->input('name')
获取URI
或Body
的参数,而不用在意是何种请求。如果你非要使用
Request::put('name')
、Request::delete('name')
、Request::param(['name'=>''])
,可以自己重写一下support/Request
类,增加几个方法即可。上面说过了,URI
和Body
参数分别被归到了GET
和POST
请求参数里面了,所以可以使用$request->all()
可以获取所有参数,然后自己做判断即可。好的,感谢解答
webman
:“咱主打一个快,出了名的快”!官方文档在这https://www.workerman.net/doc/webman/request.html
介绍的很清楚了;学习能力是一个程序员的基本修养。