CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 商品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题 (Github)
    • 面包店
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Form
    • Http
      • Client
        • Adapter
        • Auth
        • Exception
      • Cookie
      • Exception
      • Middleware
      • Session
      • TestSuite
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View

类响应

实现 HTTP 响应的方法。

以下所有示例都假设 $response 是此类的实例。

获取标题值

标题名称不区分大小写,但在解析响应时会规范化为标题大小写。

$val = $response->getHeaderLine('content-type');

将读取 Content-Type 标题。您可以使用以下方法获取所有设置的标题

$response->getHeaders();

获取响应正文

您可以使用以下方法访问响应正文流

$content = $response->getBody();

您可以使用以下方法获取正文字符串

$content = $response->getStringBody();

如果您的响应正文为 XML 或 JSON,则可以使用特定于内容类型的特殊访问器来读取解码后的数据。JSON 数据将作为数组返回,而 XML 数据将作为 SimpleXML 节点返回

// Get as XML
$content = $response->getXml()
// Get as JSON
$content = $response->getJson()

如果无法解码响应,将返回 null。

检查状态码

您可以使用以下方法访问响应状态码

$content = $response->getStatusCode();
命名空间: Cake\Http\Client

常量

  • 字符串
    METHOD_DELETE ¶
    'DELETE'

    HTTP DELETE 方法

  • 字符串
    METHOD_GET ¶
    'GET'

    HTTP GET 方法

  • 字符串
    METHOD_HEAD ¶
    'HEAD'

    HTTP HEAD 方法

  • 字符串
    METHOD_OPTIONS ¶
    'OPTIONS'

    HTTP OPTIONS 方法

  • 字符串
    METHOD_PATCH ¶
    'PATCH'

    HTTP PATCH 方法

  • 字符串
    METHOD_POST ¶
    'POST'

    HTTP POST 方法

  • 字符串
    METHOD_PUT ¶
    'PUT'

    HTTP PUT 方法

  • 字符串
    METHOD_TRACE ¶
    'TRACE'

    HTTP TRACE 方法

  • 整数
    STATUS_ACCEPTED ¶
    202

    HTTP 202 代码

  • 整数
    STATUS_CREATED ¶
    201

    HTTP 201 代码

  • 整数
    STATUS_FOUND ¶
    302

    HTTP 302 代码

  • 整数
    STATUS_MOVED_PERMANENTLY ¶
    301

    HTTP 301 代码

  • 整数
    STATUS_NON_AUTHORITATIVE_INFORMATION ¶
    203

    HTTP 203 代码

  • 整数
    STATUS_NO_CONTENT ¶
    204

    HTTP 204 代码

  • 整数
    STATUS_OK ¶
    200

    HTTP 200 代码

  • 整数
    STATUS_PERMANENT_REDIRECT ¶
    308

    HTTP 308 代码

  • 整数
    STATUS_SEE_OTHER ¶
    303

    HTTP 303 代码

  • 整数
    STATUS_TEMPORARY_REDIRECT ¶
    307

    HTTP 307 代码

属性摘要

  • $_cookies protected
    数组

    响应中的 cookie 数组。

  • $_json protected
    混合

    缓存的解码 JSON 数据。

  • $_xml protected
    SimpleXMLElement|null

    缓存的解码 XML 数据。

  • $code protected
    整数

    响应的状态码。

  • $cookies protected
    Cake\Http\Cookie\CookieCollection|null

    Cookie Collection 实例

  • $headerNames protected
    数组

    规范化标题名称到用于注册标题的原始名称的映射。

  • $headers protected
    数组

    所有注册标题的列表,作为键 => 值数组。

  • $reasonPhrase protected
    字符串

    状态码的原因短语

方法摘要

  • __construct() public

    构造函数

  • _decodeGzipBody() protected

    解压缩 gzip 响应。

  • _getBody() protected

    提供魔法 __get() 支持。

  • _getCookies() protected

    $this->cookies 的属性访问器

  • _getHeaders() protected

    提供魔法 __get() 支持。

  • _getJson() protected

    获取响应正文作为 JSON 解码数据。

  • _getXml() protected

    获取响应正文作为 XML 解码数据。

  • _parseHeaders() protected

    解析必要时的标题。

  • buildCookieCollection() protected

    从响应头中延迟构建 CookieCollection 和 cookie 对象

  • cookies() public

    获取所有 cookie

  • getBody() public

    获取消息的正文。

  • getCookie() public

    获取单个 cookie 的值。

  • getCookieCollection() public

    从此响应中获取 cookie 集合。

  • getCookieData() public

    获取单个 cookie 的完整数据。

  • getCookies() public

    获取所有 cookie 数据。

  • getEncoding() public

    获取编码(如果已设置)。

  • getHeader() public

    通过给定的不区分大小写的名称检索消息头值。

  • getHeaderLine() public

    检索单个报头的值的逗号分隔字符串。

  • getHeaders() public

    检索所有消息头。

  • getJson() public

    获取响应正文作为 JSON 解码数据。

  • getProtocolVersion() public

    以字符串形式检索 HTTP 协议版本。

  • getReasonPhrase() public

    获取与状态码关联的响应原因短语。

  • getStatusCode() public

    获取响应状态码。

  • getStringBody() public

    获取响应主体作为字符串。

  • getXml() public

    获取响应正文作为 XML 解码数据。

  • hasHeader() public

    检查通过给定的不区分大小写的名称是否存在报头。

  • isOk() public

    检查响应状态码是否在 2xx/3xx 范围内

  • isRedirect() public

    检查响应是否具有重定向状态码。

  • isSuccess() public

    检查响应状态码是否在 2xx 范围内

  • withAddedHeader() public

    返回一个带有指定报头附加给定值的实例。

  • withBody() public

    返回一个带有指定消息主体的实例。

  • withHeader() public

    返回一个带有提供的报头的实例,替换任何现有值,这些值与任何具有相同不区分大小写名称的报头相同。

  • withProtocolVersion() public

    返回一个带有指定 HTTP 协议版本的实例。

  • withStatus() public

    返回一个带有指定状态码的实例,以及可选的理由短语。

  • withoutHeader() public

    返回一个没有指定报头的实例。

方法详情

__construct() ¶ public

__construct(list<string> $headers = [], string $body = '')

构造函数

参数
list<string> $headers optional

未解析的报头。

string $body optional

响应主体。

_decodeGzipBody() ¶ protected

_decodeGzipBody(string $body): string

解压缩 gzip 响应。

查找 gzip 签名,如果 gzinflate() 存在,则主体将被解压缩。

参数
string $body

Gzip 编码主体。

返回
字符串
抛出
Cake\Core\Exception\CakeException
当尝试在没有 gzinflate 的情况下解码 gzip 内容时。

_getBody() ¶ protected

_getBody(): string

提供魔法 __get() 支持。

返回
字符串

_getCookies() ¶ protected

_getCookies(): array

$this->cookies 的属性访问器

返回
数组

_getHeaders() ¶ protected

_getHeaders(): array<string>

提供魔法 __get() 支持。

返回
array<string>

_getJson() ¶ protected

_getJson(): mixed

获取响应正文作为 JSON 解码数据。

返回
混合

_getXml() ¶ protected

_getXml(): SimpleXMLElement|null

获取响应正文作为 XML 解码数据。

返回
SimpleXMLElement|null

_parseHeaders() ¶ protected

_parseHeaders(list<string> $headers): void

解析必要时的标题。

  • 解码状态码和原因短语。
  • 解析并规范化报头名称和值。
参数
list<string> $headers

要解析的报头。

返回
void

buildCookieCollection() ¶ protected

buildCookieCollection(): Cake\Http\Cookie\CookieCollection

从响应头中延迟构建 CookieCollection 和 cookie 对象

返回
Cake\Http\Cookie\CookieCollection

cookies() ¶ public

cookies(): array

获取所有 cookie

返回
数组

getBody() ¶ public

getBody(): StreamInterface

获取消息的正文。

返回
StreamInterface

getCookie() ¶ public

getCookie(string $name): array|string|null

获取单个 cookie 的值。

参数
string $name

cookie 值的名称。

返回
array|string|null

getCookieCollection() ¶ public

getCookieCollection(): Cake\Http\Cookie\CookieCollection

从此响应中获取 cookie 集合。

此方法公开响应的 CookieCollection 实例,允许您直接与 cookie 对象交互。

返回
Cake\Http\Cookie\CookieCollection

getCookieData() ¶ public

getCookieData(string $name): array|null

获取单个 cookie 的完整数据。

参数
string $name

cookie 值的名称。

返回
array|null

getCookies() ¶ public

getCookies(): array

获取所有 cookie 数据。

返回
数组

getEncoding() ¶ public

getEncoding(): string|null

获取编码(如果已设置)。

返回
string|null

getHeader() ¶ public

getHeader(string $header): string[]

通过给定的不区分大小写的名称检索消息头值。

此方法返回给定不区分大小写的报头名称的所有报头值的数组。

如果报头未出现在消息中,此方法必须返回一个空数组。

参数
string $header

不区分大小写的报头字段名称。

返回
string[]

getHeaderLine() ¶ public

getHeaderLine(string $name): string

检索单个报头的值的逗号分隔字符串。

此方法以使用逗号连接在一起的字符串形式返回给定不区分大小写的报头名称的所有报头值。

注意:并非所有报头值都适合使用逗号连接来表示。对于此类报头,请改用 getHeader() 并提供您自己的分隔符以连接。

如果报头未出现在消息中,此方法必须返回一个空字符串。

参数
string $name

不区分大小写的报头字段名称。

返回
字符串

getHeaders() ¶ public

getHeaders(): array

检索所有消息头。

键表示报头名称,它将通过网络发送,并且每个值都是与报头关联的字符串数组。

// 以字符串形式表示报头 foreach ($message->getHeaders() as $name => $values) { echo $name . ": " . implode(", ", $values); }

// 迭代地发出报头: foreach ($message->getHeaders() as $name => $values) { foreach ($values as $value) { header(sprintf('%s: %s', $name, $value), false); } }

返回
数组

getJson() ¶ public

getJson(): mixed

获取响应正文作为 JSON 解码数据。

返回
混合

getProtocolVersion() ¶ public

getProtocolVersion(): string

以字符串形式检索 HTTP 协议版本。

字符串必须仅包含 HTTP 版本号(例如,“1.1”、“1.0”)。

返回
字符串

getReasonPhrase() ¶ public

getReasonPhrase(): string

获取与状态码关联的响应原因短语。

由于理由短语不是响应状态行中的必填元素,因此理由短语值可以为空。实现可以选择返回响应状态码的默认 RFC 7231 推荐理由短语(或 IANA HTTP 状态码注册表中列出的那些理由短语)。

返回
字符串

getStatusCode() ¶ public

getStatusCode(): int

获取响应状态码。

状态码是服务器尝试理解和满足请求的 3 位整数结果代码。

返回
整数

getStringBody() ¶ public

getStringBody(): string

获取响应主体作为字符串。

返回
字符串

getXml() ¶ public

getXml(): SimpleXMLElement|null

获取响应正文作为 XML 解码数据。

返回
SimpleXMLElement|null

hasHeader() ¶ public

hasHeader(string $header): bool

检查通过给定的不区分大小写的名称是否存在报头。

参数
string $header

不区分大小写的报头名称。

返回
bool

isOk() ¶ public

isOk(): bool

检查响应状态码是否在 2xx/3xx 范围内

返回
bool

isRedirect() ¶ public

isRedirect(): bool

检查响应是否具有重定向状态码。

返回
bool

isSuccess() ¶ public

isSuccess(): bool

检查响应状态码是否在 2xx 范围内

返回
bool

withAddedHeader() ¶ public

withAddedHeader(string $name, string|string[] $value): static

返回一个带有指定报头附加给定值的实例。

将保留指定报头的现有值。新值将附加到现有列表中。如果报头以前不存在,则将添加它。

此方法必须以保留消息不变性的方式实现,并且必须返回一个具有新报头和/或值的实例。

参数
string $name

要添加的不区分大小写的报头字段名称。

string|string[] $value

报头值。

返回
static
抛出
Exception\InvalidArgumentException
对于无效的报头名称或值。

withBody() ¶ public

withBody(StreamInterface $body): static

返回一个带有指定消息主体的实例。

主体必须是 StreamInterface 对象。

此方法必须以保留消息不变性的方式实现,并且必须返回一个具有新主体流的新实例。

参数
StreamInterface $body

主体。

返回
static
抛出
Exception\InvalidArgumentException
当主体无效时。

withHeader() ¶ public

withHeader(string $name, string|string[] $value): static

返回一个带有提供的报头的实例,替换任何现有值,这些值与任何具有相同不区分大小写名称的报头相同。

虽然头名称不区分大小写,但此函数将保留头的名称大小写,并在 getHeaders() 中返回。

此方法 MUST 以保留消息的不可变性来实现,并且 MUST 返回具有新的和/或更新的头和值的实例。

参数
string $name

不区分大小写的报头字段名称。

string|string[] $value

报头值。

返回
static
抛出
Exception\InvalidArgumentException
对于无效的报头名称或值。

withProtocolVersion() ¶ public

withProtocolVersion(string $version): static

返回一个带有指定 HTTP 协议版本的实例。

版本字符串 MUST 仅包含 HTTP 版本号(例如,“1.1”,“1.0”)。

此方法 MUST 以保留消息的不可变性来实现,并且 MUST 返回具有新协议版本的实例。

参数
string $version

HTTP 协议版本

返回
static

withStatus() ¶ public

withStatus(int $code, string $reasonPhrase = ''): static

返回一个带有指定状态码的实例,以及可选的理由短语。

如果未指定原因短语,实现 MAY 选择默认使用 RFC 7231 或 IANA 为响应的状态代码推荐的原因短语。

此方法 MUST 以保留消息的不可变性来实现,并且 MUST 返回具有更新状态和原因短语的实例。

参数
int $code

要设置的状态代码。

string $reasonPhrase 可选

状态原因短语。

返回
static

withoutHeader() ¶ public

withoutHeader(string $name): static

返回一个没有指定报头的实例。

头解析 MUST 不区分大小写地完成。

此方法 MUST 以保留消息的不可变性来实现,并且 MUST 返回删除命名头的实例。

参数
string $name

要删除的不区分大小写的头字段名称。

返回
static

属性详细信息

$_cookies ¶ protected

响应中的 cookie 数组。

类型
数组

$_json ¶ protected

缓存的解码 JSON 数据。

类型
混合

$_xml ¶ protected

缓存的解码 XML 数据。

类型
SimpleXMLElement|null

$code ¶ protected

响应的状态码。

类型
整数

$cookies ¶ protected

Cookie Collection 实例

类型
Cake\Http\Cookie\CookieCollection|null

$headerNames ¶ protected

规范化标题名称到用于注册标题的原始名称的映射。

类型
数组

$headers ¶ protected

所有注册标题的列表,作为键 => 值数组。

类型
数组

$reasonPhrase ¶ protected

状态码的原因短语

类型
字符串
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题 (Github)
  • 面包店
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成