Guzzle 7 发布
广受欢迎的 Guzzle HTTP 客户端上周升级到了版本7,令人振奋的是,大多数用户(更改日志中说95%的用户)将能够在不进行修改项目的情况下进行升级。此发行版主要是提高了最低支持的 PHP 版本并引入 PHP 7 中提供的新语言功能。
7.0版本的主要功能包括:
请务必查看 6.0到7.0升级指南 以获取 6.x 中已知的向后升级造成不兼容的列表。
我发现需要注意的一个更新是具有强类型的客户端HTTP方法(即get,post等):
get,head,put,post,patch,delete,getAsync,headAsync,putAsync,postAsync,patchAsync 和 deleteAsync 方法现在已在 GuzzleHttp\Client 上作为真正的方法实现,具有强类型。 为了最大程度地向后兼容,目前最初的__call 实现仍然保持不变,但在正常操作下不会被调用。
如果您仍然需要访问v6文档,否则可能需要同时使用Guzzle 6和7,请查看版本指南中的自述文件。 在撰写本文时,最新文档的标题为Guzzle 6
',但是docs.guzzlephp.org/en/latest/ 是最新的 Guzzle7 文档。
发行说明
如果您对 v7.0.0 的源码变化感兴趣, 你可以比较 Guzzle 6.5 和 7.0。 以下是项目 更新日志 的发行说明:
7.0.1 – 2020-06-27
- 修复多重定义函数的致命错误 #2699
7.0.0 – 2020-06-27
从 7.0.0-rc1 开始没有更改。
7.0.0-rc1 – 2020-06-15
更改
7.0.0-beta2 – 2020-05-25
添加
更改
- 当不安全时避免使用
getenv
函数 #2531 - 添加了真实的客户端方法 #2529
- 避免函数由于全局安装而导致冲突 #2546
- 使用 symfony intl-idn polyfill #2550
- 为 HTTP 动词添加方法,例如
Client::get()
,Client::head()
,Client:: patch()
等 #2529 ConnectException
继承TransferException
#2541- 将默认用户代理更新为 “GuzzleHttp/7” #2654
已修复
- 各种国际 icu 问题 #2626
已删除
- Pool 选项
pool_size
#2528
7.0.0-beta1 – 2019-12-30
新增
已变更
- 不允许将
null
作为第三个参数传递给BadResponseException::__construct()
#2427 - 使用 SAPI 常量来代替方法调用 #2450
- 使用本机函数调用 #2444
- 使用旧的 ICU lib 2454 为 PHP 安装提供更好的默认值
- 增加了对所有常量的可见性 #2462
- 不允许将
null
作为 URI 传递到Client::request()
和Client::requestAsync()
#2461 - 将异常参数扩展为 throwable #2495
已修复
- 当 Promise 拒绝时使用字符串记录到日志 #2311
已删除
- 类
SeekException
#2162 RequestException::getResponseBodySummary()
#2425CookieJar::getCookieValue()
#2433uri_template()
和UriTemplate
#2440- Request 选项
save_to
和exceptions
#2464
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: