tflori / tal
一个用于添加发送响应和管理cookie等额外功能的guzzle/psr-7包装器
v2.0.0-RC.1
2024-03-07 14:31 UTC
Requires
- guzzlehttp/psr7: ^2.6.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-07 16:16:00 UTC
README
这是一个包含发送响应和管理cookie等额外功能的guzzle/psr-7克隆。由于他们改变了属性访问级别为私有,我不得不复制代码而不是扩展它。
如果你认为guzzle的代码变化很大,这是过时的 - 欢迎提交pull request。
PSR-7 扩展
这个分支使用了一个扩展且完全兼容的PSR-7版本。这个扩展破坏了PSR-7元文档中的一些声明。
在PSR-7中,每条消息应该是不可变的。这意味着你不能在创建消息之后更改它。相反,你必须克隆它并修改克隆。
因此我们将请求和响应接口分成了两部分
Tal\Psr7Extended\ClientRequestInterface
- 将从客户端发送到服务器的请求Tal\Psr7Extended\ClientResponseInterface
- 从服务器发送到客户端的响应Tal\Psr7Extended\ServerRequestInterface
- 从客户端发送到服务器的请求Tal\Psr7Extended\ServerResponseInterface
- 将从服务器发送到客户端的响应
它们与PSR-7接口完全兼容。这意味着仍然存在with*()
方法,也可以用于更改客户端请求和服务器响应。但你要明白,这不仅仅是一个哲学问题:当你克隆消息并修改属性时,意味着对象必须在内存中复制。即使你不存储旧对象,它也必须被收集并从垃圾回收器中删除。