用于并行请求的 Guzzle vs ReactPHP vs Amphp
Guzzle vs ReactPHP vs Amphp for parallel requests
有什么区别:
它们有何不同,典型的用例是什么?
嗨,这里是 ReactPHP 核心团队成员。 ReactPHP 和 Amp 都假设您正在构建一个带有事件循环的应用程序。如果你只想做一堆异步请求然后继续,我建议使用 Guzzle 的异步请求:http://docs.guzzlephp.org/en/stable/quickstart.html#async-requests
如果您想更深入地研究异步请求,我建议您 https://github.com/clue/php-buzz-react 它可以让您更好地控制流程,而且它支持 PSR-7。
它们之间的主要区别在于 Guzzle 是一个 HTTP 客户端,而 Amp 和 ReactPHP 是通用的异步/事件循环库。这两者都基于它们提供的核心事件循环提供 HTTP 客户端。那些是 amphp/artax
and reactphp/http-client
.
现在,那些 和Guzzle 之间的区别在于,那些可以同时执行不是 HTTP 请求的其他事情。也就是说,因为用户可以完全控制事件循环并且可以注册自己的 I/O 观察者和计时器,而 Guzzle 使用的事件循环在 Curl 中对用户隐藏。
如果您只想发出几个并发 HTTP 请求,则决定主要归结为您喜欢的 API 和性能方面的考虑。如果您想同时做其他 I/O 相关的事情,请使用 Amp 或 ReactPHP。如果您想流式传输您的身体,我建议您也不要使用 Guzzle。
有什么区别:
它们有何不同,典型的用例是什么?
嗨,这里是 ReactPHP 核心团队成员。 ReactPHP 和 Amp 都假设您正在构建一个带有事件循环的应用程序。如果你只想做一堆异步请求然后继续,我建议使用 Guzzle 的异步请求:http://docs.guzzlephp.org/en/stable/quickstart.html#async-requests
如果您想更深入地研究异步请求,我建议您 https://github.com/clue/php-buzz-react 它可以让您更好地控制流程,而且它支持 PSR-7。
它们之间的主要区别在于 Guzzle 是一个 HTTP 客户端,而 Amp 和 ReactPHP 是通用的异步/事件循环库。这两者都基于它们提供的核心事件循环提供 HTTP 客户端。那些是 amphp/artax
and reactphp/http-client
.
现在,那些 和Guzzle 之间的区别在于,那些可以同时执行不是 HTTP 请求的其他事情。也就是说,因为用户可以完全控制事件循环并且可以注册自己的 I/O 观察者和计时器,而 Guzzle 使用的事件循环在 Curl 中对用户隐藏。
如果您只想发出几个并发 HTTP 请求,则决定主要归结为您喜欢的 API 和性能方面的考虑。如果您想同时做其他 I/O 相关的事情,请使用 Amp 或 ReactPHP。如果您想流式传输您的身体,我建议您也不要使用 Guzzle。