### 3.3 `Psr\Http\Message\ResponseInterface`
~~~php
<?php
namespace Psr\Http\Message;
/**
* 表示服务器返回的响应消息。
*
* 根据 HTTP 规范,此接口包含以下各项的属性:
*
* - 协议版本
* - 状态码和原因短语
* - 报头
* - 消息体
*
* HTTP 响应是被视为无法修改的,所有能修改状态的方法,都 **必须** 有一套机制,在内部保
* 持好原有的内容,然后把修改状态后的,新的 HTTP 响应实例返回。
*/
interface ResponseInterface extends MessageInterface
{
/**
* 获取响应状态码。
*
* 状态码是一个三位整数,用于理解请求。
*
* @return int 状态码。
*/
public function getStatusCode();
/**
* 返回具有指定状态码和原因短语(可选)的实例。
*
* 如果未指定原因短语,实现代码 **可能** 选择 RFC7231 或 IANA 为状态码推荐的原因短语。
*
* 此方法在实现的时候,**必须** 保留原有的不可修改的 HTTP 消息实例,然后返回
* 一个新的修改过的 HTTP 消息实例。
*
* @see http://tools.ietf.org/html/rfc7231#section-6
* @see http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
* @param int $code 三位整数的状态码。
* @param string $reasonPhrase 为状态码提供的原因短语;如果未提供,实现代码可以使用 HTTP 规范建议的默认代码。
* @return self
* @throws \InvalidArgumentException 如果传入无效的状态码,则抛出。
*/
public function withStatus($code, $reasonPhrase = '');
/**
* 获取与响应状态码关联的响应原因短语。
*
* 因为原因短语不是响应状态行中的必需元素,所以原因短语 **可能** 是空。
* 实现代码可以选择返回响应的状态代码的默认 RFC 7231 推荐原因短语(或 IANA HTTP 状态码注册表中列出的原因短语)。
*
* @see http://tools.ietf.org/html/rfc7231#section-6
* @see http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
* @return string 原因短语;如果不存在,则 **必须** 返回空字符串。
*/
public function getReasonPhrase();
}
~~~
- 前言
- 捐赠ESD项目
- 使用篇-通用
- 环境
- 安装
- 规范
- 压力测试
- 配置
- 如何设置YML配置
- server配置
- 端口配置
- 项目结构
- 事件派发
- 日志
- 注解
- DI容器
- 自定义进程
- 并发及协程池
- Console插件
- Scheduled插件
- Redis插件
- AOP插件
- Saber插件
- Mysql插件
- mysql事务
- Actuator插件
- Whoops插件
- Cache插件
- PHPUnit插件
- Security插件
- Session插件
- EasyRoute插件
- http路由
- ProcessRpc插件
- AutoReload插件
- AnnotationsScan插件
- Tracing-plugin插件
- MQTT插件
- Pack插件
- AMQP插件
- Validate插件
- Uid插件
- Topic插件
- Blade插件
- CsvReader插件
- hashed-wheel-timer-plugin插件
- 使用篇-HTTP
- 路由
- 静态文件
- 路由定义
- 修饰方法
- 路由分组
- 资源路由
- 端口作用域
- 异常处理
- 跨域请求
- 路由缓存
- 控制器
- 控制器初始化
- 前置操作
- 跳转和重定向
- 异常处理
- 请求
- 请求对象
- 请求信息
- request消息
- response消息
- stream消息
- url接口
- 验证器
- 内置验证器
- 内置过滤器
- 使用篇-WS
- 如何使用
- 路由
- 使用篇-TCP
- 插件篇-PluginSystem
- 微服务篇-ESDCloud
- CircuitBreaker插件
- SaberCloud插件
- 分布式链路追踪系统
- Consul插件