bdk / http-message
PSR-7 (HttpMessage) & PSR-17 (HttpFactory) 实现
v3.3.1
2024-09-09 18:22 UTC
Requires
- php: >=8.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.1 || ^2.0
Requires (Dev)
- bdk/devutil: dev-master
- phpunit/phpunit: ^4.0 | ^5.0 | ^6.0 | ^7.0 | ^8.0 | ^9.0
- squizlabs/php_codesniffer: ^3.6
- symfony/http-foundation: >=2.8
Provides
README
PSR-7 (HttpMessage) & PSR-17 (HttpFactory) 实现
显著特性
- 可注册针对每种媒体类型的自定义体解析器
- 默认情况下,已注册以下解析器
- application/x-www-form-urlencoded - 保留键中的"."和空格
- application/json - 解码为数组
- application/xml, text/xml 解析为 SimpleXMLElement 对象
- parsedBody 和 queryParams 保留键中的"."和空格
UploadedFile::getClientFullPath()
. PHP 8.1 添加了新的文件上传属性(不包含在 PSR-7 中)ServerRequestExtended
接口和实现 - 扩展标准服务器请求,提供有用方法
安装
composer require bdk/http-message
文档
http://bradkent.com/php/httpmessage
3个维护版本
实用工具
- ContentType: 常见的 MIME 类型常量
- HttpFoundationBridge: 从 HttpFoundation 请求和响应创建 ServerRequest 和 Response
- ParseStr: PHP 的
parse_str()
,但默认不将点号和空格转换为下划线 - 响应
emit(ResponseInterface $response)
- 输出响应头和体codePhrase(int|string $code): string
- 获取给定 HTTP 状态码的标准代码短语
- 服务器请求
fromGlobals(): ServerRequestInterface
- Uri
fromGlobals(): UriInterface
isCrossOrigin(UriInterface $uri1, UriInterface $uri2): bool
parseUrl(string|UriInterface): array
- 类似 php 的parse_url
,但修复了回滚的错误resolve(UriInterface $base, UriInterface $rel): UriInterface
- 将相对 URI 转换为一个新的 URI,该 URI 是相对于基本 URI 解析的。