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