PHPにおけるコルーチンベースの非同期リクエストの手法とは?

PHPの協調ルーチンは、PHPで非同期リクエストにより実行される並行プログラミングの方法であり、Swoole拡張より実装可能です。

Swoole拡張を使用するコルーチンによる非同期要求の例を次に示します。

<?php
// 创建一个协程HTTP客户端
$http = new Swoole\Coroutine\Http\Client('www.example.com', 80);

// 发起异步GET请求
$http->set(['timeout' => 10]);
$http->get('/api', function ($cli) {
    // 请求完成后的回调函数
    echo $cli->body;
    $cli->close();
});

// 执行协程
Swoole\Coroutine\run();

上記サンプルではSwoole\Coroutine\Http\Clientクラスで非同期HTTPクライアントを作成しており、getメソッド経由で非同期GETリクエストを実行しています。リクエストが完了するとコールバック関数が実行され、取得したレスポンスの内容が出力されます。

注意すべきは、これらの例は、swoole 拡張機能をインストールした PHP 環境で実行する必要があります。swoole 拡張機能は pecl install swoole コマンドでインストールできます。

bannerAds