riki137/amp-client

PHP8.2+ AMPHPv3 适配器用于 Symfony HttpClient

7.0.3 2024-08-21 12:55 UTC

This package is auto-updated.

Last update: 2024-09-21 13:12:33 UTC


README

此包已弃用,应替换为 efabrica/revolt-curl-client

这是对 @nicolas-grekas 的拉取请求 的部分分支,为 SymfonyHttpClient 添加了对 AMPHPv3 (AMPHP HTTPClient v5) 的支持,以替代等待 PHP 8.4。

这不是完全的分支以替代原始的 Symfony HttpClient,而是一个可以与其并用的独立包。

移除了 HTTP 客户端及其它适配器的代码,仅保留了与其 AMPHPv3 相关和必要的 @internal 代码。

通过延迟销毁解决了析构函数挂起的问题。

使用方法

composer require riki137/amp-client
use Riki137\AmpClient\AmpHttpClientV5;

$client = new AmpHttpClientV5($options, null, $maxHostConnections, $maxPendingPushes); 
// implements HttpClientInterface, as you're used to
$client->request('GET', 'https://example.com');

如果您使用此客户端,应在应用程序关闭时(onShutdown,终止事件等)包含此段代码。

\Revolt\EventLoop::run();

这确保了在应用程序关闭之前所有挂起的请求都已完成,并允许您避免 PHP <8.4 的析构函数挂起。