CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 周边产品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (GitHub)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • YouTube
    • 脸书
    • 推特
    • 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
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
      • 客户端
        • 适配器
        • 身份验证
        • 异常
      • Cookie
      • 异常
      • 中间件
      • 会话
      • 测试套件
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 实用程序
    • 验证
    • 视图

类请求

实现 HTTP 请求的方法。

由 Cake\Http\Client 使用,用于保存用于进行请求的请求信息。

命名空间: 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 数组。

  • $headerNames protected
    数组

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

  • $headers protected
    数组

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

方法摘要

  • __construct() public

    构造函数

  • addHeaders() protected

    将标题数组添加到请求中。

  • cookies() public

    获取所有 Cookie

  • getBody() public

    获取消息主体。

  • getHeader() public

    按给定的不区分大小写的名称检索消息标题值。

  • getHeaderLine() public

    检索单个标题的值的逗号分隔字符串。

  • getHeaders() public

    检索所有消息标题。

  • getMethod() public

    检索请求的 HTTP 方法。

  • getProtocolVersion() public

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

  • getRequestTarget() public

    检索消息的请求目标。

  • getUri() public

    检索 URI 实例。

  • hasHeader() public

    检查标题是否存在,方法是根据给定的不区分大小写的名称。

  • setContent() protected

    设置消息的主体/有效负载。

  • withAddedHeader() public

    返回一个实例,其中指定的标题附加了给定的值。

  • withBody() public

    返回一个实例,其中包含指定的 message body。

  • withHeader() public

    返回一个实例,其中包含提供的标题,替换任何具有相同不区分大小写名称的现有标题的值。

  • withMethod() public

    返回一个实例,其中包含提供的 HTTP 方法。

  • withProtocolVersion() public

    返回一个实例,其中包含指定的 HTTP 协议版本。

  • withRequestTarget() public

    使用特定的请求目标创建一个新实例。

  • withUri() public

    返回一个包含提供的 URI 的实例。

  • withoutHeader() public

    返回一个不包含指定标题的实例。

方法详细说明

__construct() ¶ public

__construct(Psr\Http\Message\UriInterface|string $url = '', string $method = self::METHOD_GET, array $headers = [], array|string|null $data = null)

构造函数

为一些属性提供向后兼容的默认值。

参数
Psr\Http\Message\UriInterface|string $url optional

请求 URL

string $method optional

要使用的 HTTP 方法。

array $headers optional

要设置的 HTTP 标题。

array|string|null $data optional

要使用的请求主体。

addHeaders() ¶ protected

addHeaders(array<string, string> $headers): void

将标题数组添加到请求中。

参数
array<string, string> $headers

要添加的标题。

返回
void

cookies() ¶ public

cookies(): array

获取所有 Cookie

返回
数组

getBody() ¶ public

getBody(): StreamInterface

获取消息主体。

返回
StreamInterface

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); } }

返回
数组

getMethod() ¶ public

getMethod(): string

检索请求的 HTTP 方法。

返回
字符串

getProtocolVersion() ¶ public

getProtocolVersion(): string

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

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

返回
字符串

getRequestTarget() ¶ public

getRequestTarget(): string

检索消息的请求目标。

检索消息的请求目标,无论是它将出现的方式(对于客户端),还是它在请求时出现的方式(对于服务器),或者是在实例中为其指定的方式(请参阅 withRequestTarget())。

在大多数情况下,这将是组合 URI 的原始形式,除非向具体实现提供了值(请参阅下面的 withRequestTarget())。

如果没有可用的 URI,并且没有专门提供请求目标,则此方法必须返回字符串“/”。

返回
字符串

getUri() ¶ public

getUri(): UriInterface

检索 URI 实例。

此方法必须返回一个 UriInterface 实例。

返回
UriInterface
链接
http://tools.ietf.org/html/rfc3986#section-4.3

hasHeader() ¶ public

hasHeader(string $header): bool

检查标题是否存在,方法是根据给定的不区分大小写的名称。

参数
string $header

不区分大小写的标题名称。

返回
bool

setContent() ¶ protected

setContent(array|string $content): $this

设置消息的主体/有效负载。

数组数据将使用 {@link \Cake\Http\FormData} 进行序列化,并且将设置内容类型。

参数
array|string $content

请求的主体。

返回
$this

withAddedHeader() ¶ public

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

返回一个实例,其中指定的标题附加了给定的值。

将维护指定标题的现有值。新值将附加到现有列表中。如果标题以前不存在,则会添加它。

此方法必须以保持消息不变性的方式实现,并且必须返回具有新标题和/或值的实例。

参数
string $name

要添加的不区分大小写的标题字段名称。

string|string[] $value

标题值。

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

withBody() ¶ public

withBody(StreamInterface $body): static

返回一个实例,其中包含指定的 message body。

主体必须是 StreamInterface 对象。

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

参数
StreamInterface $body

身体。

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

withHeader() ¶ public

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

返回一个实例,其中包含提供的标题,替换任何具有相同不区分大小写名称的现有标题的值。

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

此方法必须以保持消息不变性的方式实现,并且必须返回具有新和/或更新的标题和值的实例。

参数
string $name

不区分大小写的标题字段名称。

string|string[] $value

标题值。

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

withMethod() ¶ public

withMethod(string $method): static

返回一个实例,其中包含提供的 HTTP 方法。

虽然 HTTP 方法名称通常都是大写字母,但 HTTP 方法名称区分大小写,因此实现不应该修改给定的字符串。

此方法必须以保持消息不变性的方式实现,并且必须返回具有更改的请求方法的实例。

参数
string $method

不区分大小写的 method。

返回
static
抛出
Exception\InvalidArgumentException
对于无效的 HTTP 方法。

withProtocolVersion() ¶ public

withProtocolVersion(string $version): static

返回一个实例,其中包含指定的 HTTP 协议版本。

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

此方法必须以保持消息不变性的方式实现,并且必须返回具有新协议版本的实例。

参数
string $version

HTTP 协议版本

返回
static

withRequestTarget() ¶ public

withRequestTarget(string $requestTarget): static

使用特定的请求目标创建一个新实例。

如果请求需要非原始形式的请求目标——例如,为了指定绝对形式、授权形式或星号形式——则可以使用此方法创建具有指定请求目标的实例,逐字记录。

此方法必须以保持消息不变性的方式实现,并且必须返回具有更改的请求目标的新实例。

参数
string $requestTarget
返回
static
抛出
Exception\InvalidArgumentException
如果请求目标无效。
链接
http://tools.ietf.org/html/rfc7230#section-2.7 (用于请求消息中允许的各种请求目标形式)

withUri() ¶ public

withUri(UriInterface $uri, bool $preserveHost = false): static

返回一个包含提供的 URI 的实例。

此方法将默认情况下更新返回请求的 Host 标题,如果 URI 包含主机组件。如果 URI 不包含主机组件,则任何预先存在的 Host 标题将被传递到返回的请求中。

您可以通过将 $preserveHost 设置为 true 来选择保留 Host 标题的原始状态。当 $preserveHost 设置为 true 时,返回的请求不会更新返回消息的 Host 标题——即使消息不包含 Host 标题。这意味着对原始请求调用 getHeader('Host') 必须等于对返回请求调用 getHeader('Host') 的返回值。

此方法必须以保持消息不变性的方式实现,并且必须返回具有新 UriInterface 实例的实例。

参数
UriInterface $uri

要使用的新的请求 URI。

bool $preserveHost optional

保留 Host 标题的原始状态。

返回
static
链接
http://tools.ietf.org/html/rfc3986#section-4.3

withoutHeader() ¶ public

withoutHeader(string $name): static

返回一个不包含指定标题的实例。

标题解析必须在不区分大小写的情况下完成。

此方法必须以保持消息不变性的方式实现,并且必须返回删除了命名标题的实例。

参数
string $name

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

返回
static

属性详细信息

$_cookies ¶ protected

响应中的 Cookie 数组。

类型
数组

$headerNames ¶ protected

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

类型
数组

$headers ¶ protected

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

类型
数组
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与
  • 问题 (GitHub)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成