alexanderpas / http-enum
Requires
- php: ^8.1
Requires (Dev)
- ergebnis/composer-normalize: ^2.15
- infection/infection: ^0.25.2
- php-parallel-lint/php-parallel-lint: ^1.3
- phpunit/phpunit: ^10
- sebastian/diff: 5.0.x-dev as 4.x-dev
- symfony/dependency-injection: ^5.3
- symplify/easy-coding-standard: ^9.4
- vimeo/psalm: ^4.10
This package is auto-updated.
Last update: 2024-09-16 19:18:47 UTC
README
本包提供PHP 8.1+枚举的HTTP方法、状态码和原因短语
支持截至2018年9月21日更新的所有IANA注册的HTTP状态码及其对应的原因短语。
这包括在RFC 5789和RFC 7231中定义的HTTP方法,以及所有在HTTP/1.1中定义的状态码和原因短语(RFC 7231、RFC 7232、RFC 7233、RFC 7235)和HTTP/2(RFC 7540)中定义的状态码和原因短语,以及其他定义HTTP状态码的RFC,例如WebDAV(RFC 2518、RFC 4918、RFC 5842、RFC 8144)以及其他更多(RFC 8297、RFC 3229、RFC 7538、RFC 7694、RFC 6585、RFC 7725、RFC 2295、RFC 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 状态码枚举。(例如200
或404
)StatusCode::fromName(string $name): StatusCode
当提供有效的 HTTP 状态码作为前缀为HTTP_
的字符串时返回一个 HTTP 状态码枚举。(例如'HTTP_200'
或'HTTP_404'
)ReasonPhrase::fromInteger(int $integer): ReasonPhrase
当提供有效的HTTP状态码整数时,返回一个HTTP原因短语枚举。例如(如200
或404
)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)
注释
- 有意移除了对HTTP状态码306的支持,因为它在RFC 7231,第6.4.6节中被定义为未使用。
- 在超文本咖啡壶控制协议(RFC 2324)中定义的方法,由于它们没有正确注册并提供特定于该协议的唯一方法,因此不受支持。
- 特定于WebDAV的请求方法不受支持。