ホームページ  >  記事  >  バックエンド開発  >  PHP8.0のGuzzleライブラリ

PHP8.0のGuzzleライブラリ

WBOY
WBOYオリジナル
2023-05-14 08:57:102343ブラウズ

最近、PHP 開発者は新しいパートナーである Guzzle 7.0 を歓迎しました。 Guzzle は HTTP クライアント ライブラリとして多くの PHP プログラマーに歓迎され、使用されています。さて、PHP8.0のリリースにより、Guzzleライブラリも新たな姿勢で私たちの視界に登場しました。

この記事では主にPHP8.0でのGuzzleライブラリの使い方とTipsを紹介します。

1. Guzzle ライブラリの概要

Guzzle は、HTTP プロトコルと PHP ストリーミング ツールを使用して、高速、スケーラブル、柔軟かつ透過的な HTTP リクエストを実装する HTTP クライアント ライブラリです。同期、非同期のリクエストとメッセージリクエスト、失敗したリクエストの自動再試行、ミドルウェアのカスタマイズ機能をサポートしています。

Guzzle ライブラリは PHP 分野で非常に人気があり、RESTful API 呼び出し、クローラ開発、HTTP プロキシなどで広く使用されています。

2. Guzzle 7.0 の新機能

Guzzle 7.0 は Guzzle の最新バージョンで、PHP8.0 のいくつかの新機能が導入されています:

  1. Builder の機能強化:新しいバージョンでは、->setQuery() メソッドを使用してリクエストにクエリ パラメーターを追加できます。
  2. 例外処理の改善: Guzzle 7.0 では、例外クラスが更新され、Throw 例外処理がサポートされました。
  3. いくつかのリクエスト形式を追加: Guzzle の新しいバージョンでは、'body' => fopen('/path/to/file', 'r')and# を使用できます。 ##'body' => '文字列の例' リクエストの送信方法。
  4. リクエストの応答時間の最適化: Guzzle の新しいバージョンは、リクエストと応答の間でデータ フローを処理できるようにするオプションのストリーム コントローラーを提供します。これにより、応答時間の短縮と帯域幅リソースの節約に役立ちます。
3. Guzzle クライアントの例

次に、例を使用して Guzzle ライブラリの使用法を示します。

    Send GET request:
  1. $client = new GuzzleHttpClient();
    $response = $client->request('GET', 'https://jsonplaceholder.typicode.com/posts');
    echo $response->getBody();
コード分析: 上記のコードは、Guzzle クライアント インスタンスを作成し、指定された URL への GET リクエストを開始し、応答結果を取得します。

    POST リクエストの送信:
  1. $client = new GuzzleHttpClient();
    $response = $client->request('POST', 'https://jsonplaceholder.typicode.com/posts', [
        'form_params' => [
            'title' => 'foo',
            'body' => 'bar',
            'userId' => 1
        ]
    ]);
    echo $response->getStatusCode(); //200
    echo $response->getBody();
コード分析: 上記のコードは、Guzzle クライアント インスタンスを作成し、指定された URL への POST リクエストを開始し、## The # form_params

オプションはリクエスト本文の内容を設定します。最後に、この例では HTTP ステータス コードと応答結果を出力します。

非同期リクエスト:
  1. $client = new GuzzleHttpClient();
    $request = new GuzzleHttpPsr7Request('GET', 'https://jsonplaceholder.typicode.com/posts');
    $promise = $client->sendAsync($request)->then(function ($response) {
        echo 'I completed! ' . $response->getStatusCode();
    });
    $promise->wait();
  2. コード分析: 上記のコードは、Guzzle クライアント インスタンスと非同期リクエストを作成し、Promise コールバック関数を設定します。
->wait()

メソッドを呼び出すことにより、非同期リクエストが完了してコールバック関数がトリガーされるのを待ちます。 4. 結論

非常に優れた HTTP クライアント ライブラリである Guzzle ライブラリは、PHP 開発において明らかに重要です。 Guzzle 7.0 は PHP8.0 に多くの新機能と最適化を導入しているため、今後も PHP 開発者の間で貴重な位置を占め続けると思います。この記事が皆様のお役に立てば幸いです。読者の皆様も Guzzle ライブラリを深く理解し、使用していただければ幸いです。

以上がPHP8.0のGuzzleライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。