## 请求 请求组件用来获取所有 HTTP 请求参数,基于 [PSR-7](https://www.php-fig.org/psr/psr-7/) / [PSR-17](https://www.php-fig.org/psr/psr-17/) 标准实现。 ## 组件 使用 [composer]([https://www.phpcomposer.com/](https://www.phpcomposer.com/)) 安装: ~~~ composer require mix/http-message ~~~ ## 来源 请求类定义于 `mix/http-message` 库,由 `mix/http-server` 的 `Mix\Http\Server\HttpServer::handle` 方法的闭包参数中获取。 [>> StartCommand.php#L84 <<](https://github.com/mix-php/mix-skeleton/blob/master/app/Http/Commands/StartCommand.php#L84) ## PSR 定义方法 | 方法 | 描述 | | --- | --- | | getProtocolVersion() : string | 获取协议版本 | | getHeaders() : array | 获取全部header | | hasHeader($name) : bool | 判断 header 是否存在 | | getHeader($name) : array | 获取 header (http协议header是可以同名的) | | getHeaderLine($name) : string | 获取 header 单行 (逗号分隔) | | getBody() : StreamInterface | 获取主体原始内容 | | getMethod() : string | 获取请求方法 | | getUri() : UriInterface | 获取请求uri | | getSwooleRequest() : \Swoole\Http\Request | 获取 swoole 请求对象 | | getServerParams() : array | 获取服务器参数 | | getCookieParams() : array | 获取Cookie| | getQueryParams() : array | 获取请求参数 (GET) | | getUploadedFiles() : UploadedFileInterface[] | 获取上传文件 | | getParsedBody() : null \| array | 获取解析主体 (POST) | | getAttributes() : array | 获取全部属性 (GET/POST/Cookie) | | getAttribute($name, $default = null) | 获取属性 | ## 特有方法 为了方面其他位置调用,请求类中我们还增加了两对常用类的设置/获取方法: | 方法 | 描述 | | --- | --- | | getSession() : Session | 获取Session | | withSession(Session $session) | 设置Session | | getJWTPayload() : array | 获取JWT有效荷载 | | withJWTPayload(array $jwtPayload) | 设置JWT有效荷载 |