HTTP基础应用 - Request对象

优质
小牛编辑
128浏览
2023-12-01

生命周期

Request对象在系统中以单例模式存在,自收到客户端HTTP请求时自动创建,直至请求结束自动销毁。Request对象完全符合PSR7中的所有规范。

方法列表

getRequestParam()

用于获取用户通过POST或者GET提交的参数(注意:若POST与GET存在同键名参数,则以POST为准)。
示例:

  1. // 在控制器中 可以通过 $this->request() 获取到Request对象
  2. // $request = $this->request();
  3. $data = $request->getRequestParam();
  4. var_dump($data);
  5. $orderId = $request->getRequestParam('orderId');
  6. var_dump($orderId);
  7. $keys = array(
  8. "orderId","type"
  9. );
  10. $mixData = $request->getRequestParam($keys);
  11. var_dump($mixData);

getSwooleRequest()

该方法用于获取当前的swoole_http_request对象。

PSR-7规范ServerRequest对象中常用方法

getCookieParams()

该方法用于获取HTTP请求中的cookie信息

  1. $all = $request->getCookieParams();
  2. var_dump($all);
  3. $who = $request->getCookieParams('who');
  4. var_dump($who);

getUploadedFiles()

该方法用于获取客户端上传的全部文件。

  1. $data = $request->getUploadFiles();
  2. var_dump($data);

getBody()

该方法用于获取以非form-data或x-www-form-urlenceded编码格式POST提交的原始数据,相当于PHP中的$HTTP_RAW_POST_DATA。

获得get内容

  1. $get = $request->getQueryParams();

获得post内容

  1. $post = $request->getParsedBody();

获得raw内容

  1. $content = $request->getBody()->__toString();
  2. $raw_array = json_decode($content, true);

获得头部

  1. $header = $request->getHeaders();

获得server

  1. $server = $request->getServerParams();

获得cookie

  1. $cookie = $request->getCookieParams();