Request 对象

接收客户端的 HTTP 请求对象

生命周期

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

核心方法

getRequestParam()

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

示例:

  1. // 在控制器中 可以通过 $this->request() 获取到 Request 对象
  2. // $request = $this->request();
  3. // 获取 `POST` 或者 `GET` 提交的所有参数
  4. $data = $request->getRequestParam();
  5. var_dump($data);
  6. // 获取 `POST` 或者 `GET` 提交的单个参数
  7. $orderId = $request->getRequestParam('orderId');
  8. var_dump($orderId);
  9. // 获取 `POST` 或者 `GET` 提交的多个参数
  10. $mixData = $request->getRequestParam("orderId","type");
  11. var_dump($mixData);

getSwooleRequest()

获取当前的 swoole_http_request 对象。

getCookieParams()

获取 HTTP 请求中的 cookie 信息

  1. // 获取所有 `cookie` 信息
  2. $all = $request->getCookieParams();
  3. var_dump($all);
  4. // 获取单个 `cookie` 信息
  5. $who = $request->getCookieParams('who');
  6. var_dump($who);

getUploadedFiles()

获取客户端上传的全部文件信息。

  1. // 获取一个上传文件,返回的是一个 \EasySwoole\Http\Message\UploadFile 的对象
  2. $img_file = $request->getUploadedFile('img');
  3. // 获取全部上传文件返回包含 \EasySwoole\Http\Message\UploadFile 对象的数组
  4. $data = $request->getUploadedFiles();
  5. var_dump($data);

点击查看 UploadFile对象

getBody()

获取以非 form-datax-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();