13. Request请求与Response响应
一、Request
<?php
// 下面两个接口,是 Psr7协议定义的关于http消息对象,推荐规范接口
// RequestInterface 是抽象概念上的请求接口
use Psr\Http\Message\RequestInterface;
// ServerRequestInterface 是上面接口的子接口
// 专属于服务端的请求接口
use Psr\Http\Message\ServerRequestInterface; // 存储在协程上下文中的请求对象key
// ====================================================================================
// 解决协程间共用Request,数据混淆的问题
use Hyperf\HttpServer\Contract\RequestInterface; // 开发中使用,注入
// Hyperf\HttpServer\Contract\RequestInterface的实现类
// 可以自己处理程序的请求,解决数据混淆的问题
// 使用时: pivate RequestInterface Request;
use Hyperf\HttpServer\Request; // 开发中用到的RequestInterface 实际注入的代理对象
// ====================================================================================
// Psr\Http\Message\RequestInterface的实现类
use Hyperf\HttpMessage\Base\Request;
// Psr\Http\Message\ServerRequestInterface的实现类
use Hyperf\HttpMessage\Server\Request; // 对应存储在协程上下文中的请求 对象
// swoole的请求对象,上面的由这两个类构建出来的
use Swoole\Http\Request;
use Swoole\Http2\Request;
二、Response
<?php
use Psr\Http\Message\ResponseInterface; // 存储在协程上下文中的响应对象key
// ====================================================================================
use Hyperf\HttpServer\Contract\ResponseInterface; // 开发中使用,注入
// 从协程上下文中取出对应的响应对象,调用对应方法,来完成一些操作
// 除了提供 Psr7中Response中的方法外,还提供了日常开发中常用的 结果响应的方法,如:json()、getBody()
use Hyperf\HttpServer\Response; // 开发中用到的ResponseInterface 实际注入的代理对象
// ====================================================================================
use Hyperf\HttpMessage\Base\Response;
// Hyperf\HttpMessage\Base\Response的子类,将当前请求的内容响应给当前请求
use Hyperf\HttpMessage\Server\Response; // 对应存储在协程上下文中的响应 对象
use Swoole\Http\Response;
use Swoole\Http2\Response;