alexanderpas/http-enum

1.0.0 2021-09-20 18:53 UTC

This package is auto-updated.

Last update: 2024-09-16 19:18:47 UTC


README

PHP Version Require Latest Stable Version Latest Unstable Version License

本包提供PHP 8.1+枚举的HTTP方法、状态码和原因短语

支持截至2018年9月21日更新的所有IANA注册的HTTP状态码及其对应的原因短语。

这包括在RFC 5789RFC 7231中定义的HTTP方法,以及所有在HTTP/1.1中定义的状态码和原因短语(RFC 7231RFC 7232RFC 7233RFC 7235)和HTTP/2RFC 7540)中定义的状态码和原因短语,以及其他定义HTTP状态码的RFC,例如WebDAVRFC 2518RFC 4918RFC 5842RFC 8144)以及其他更多(RFC 8297RFC 3229RFC 7538RFC 7694RFC 6585RFC 7725RFC 2295RFC 2774)。

要求

  • PHP 8.1或更高版本

安装

Composer

composer require alexanderpas/http-enum

手动安装(不使用Composer)

为了使用HTTP方法枚举,请包含src/Method.php文件。

为了使用HTTP状态码枚举或HTTP原因短语枚举,请同时包含src/ReasonPhrase.php文件和src/StatusCode.php文件。

可用的枚举和枚举方法

所有可用的枚举都在\Alexanderpas\Common\HTTP命名空间中。

  • HTTP方法由\Alexanderpas\Common\HTTP\Method枚举表示。
  • HTTP状态码由\Alexanderpas\Common\HTTP\StatusCode枚举表示。
  • HTTP原因短语由\Alexanderpas\Common\HTTP\ReasonPhrase枚举表示。

除了默认在Backed Enums上可用的枚举方法外,以下枚举方法也可用。

  • Method::fromName(string $name): Method 当提供有效的 uppercase HTTP 方法时返回一个 HTTP 方法枚举。(例如 'GET''POST'
  • StatusCode::fromInteger(int $integer): StatusCode 当提供有效的 HTTP 状态码作为整数时返回一个 HTTP 状态码枚举。(例如 200404
  • StatusCode::fromName(string $name): StatusCode 当提供有效的 HTTP 状态码作为前缀为 HTTP_ 的字符串时返回一个 HTTP 状态码枚举。(例如 'HTTP_200''HTTP_404'
  • ReasonPhrase::fromInteger(int $integer): ReasonPhrase 当提供有效的HTTP状态码整数时,返回一个HTTP原因短语枚举。例如(如 200404
  • ReasonPhrase::fromName(string $name): ReasonPhrase 当提供以HTTP_前缀的字符串作为有效HTTP状态码时,返回一个HTTP原因短语枚举。例如(如 'HTTP_200''HTTP_404'

上述所有方法都有一个尝试变体(如 Method::tryFromName(?string $name): ?Method),如果给定了一个正确类型的无效值,则返回null而不是抛出异常。

此外,您可以使用以下方法在状态码枚举和原因短语枚举之间切换

  • ReasonPhrase::fromStatusCode(StatusCode $statusCode): ReasonPhrase 将状态码枚举转换为相应的原因短语枚举。
  • StatusCode::fromReasonPhrase(ReasonPhrase $reasonPhrase): StatusCode 将原因短语枚举转换为相应的状态码枚举。

这些方法没有尝试变体。

您可以通过读取枚举上的value属性,像往常一样获取相应的字符串或整数表示。

许可证

版权所有:Alexander Pas 2021。在Boost软件许可证版本1.0下分发。(请参阅随附文件 LICENSE_1_0.txt 或复制于 https://boost.ac.cn/LICENSE_1_0.txt

注释