Rumah > pembangunan bahagian belakang > tutorial php > Pustaka Guzzle dalam PHP8.0

Pustaka Guzzle dalam PHP8.0

WBOY
Lepaskan: 2023-05-14 11:30:02
asal
2403 orang telah melayarinya

Baru-baru ini, pembangun PHP telah mengalu-alukan rakan kongsi baharu-Guzzle 7.0. Sebagai perpustakaan klien HTTP, Guzzle dialu-alukan dan digunakan oleh banyak pengaturcara PHP. Kini, dengan keluaran PHP8.0, perpustakaan Guzzle juga telah muncul dalam bidang penglihatan kami dengan sikap baharu.

Artikel ini terutamanya akan memperkenalkan cara menggunakan perpustakaan Guzzle dalam PHP8.0 dan beberapa petua.

1. Pengenalan kepada perpustakaan Guzzle

Guzzle ialah perpustakaan klien HTTP yang menggunakan protokol HTTP dan alat penstriman PHP untuk melaksanakan permintaan HTTP yang pantas, berskala, fleksibel dan telus. Ia menyokong permintaan segerak, tak segerak dan permintaan mesej, cuba semula automatik permintaan yang gagal, dan keupayaan untuk menyesuaikan perisian tengah.

Pustaka Guzzle sangat popular dalam medan PHP dan digunakan secara meluas dalam panggilan API RESTful, pembangunan perangkak, proksi HTTP, dsb.

2. Ciri baharu Guzzle 7.0

Guzzle 7.0 ialah versi terkini Guzzle, yang memperkenalkan beberapa ciri baharu dalam PHP8.0:

  1. Peningkatan pembina : Dalam versi baharu, kami boleh menambah parameter pertanyaan pada permintaan dengan menggunakan kaedah ->setQuery().
  2. Pengendalian pengecualian yang lebih baik: Dalam Guzzle 7.0, kelas pengecualian telah dikemas kini dan menyokong pengendalian pengecualian Throw.
  3. Menambah beberapa format permintaan: Dalam versi baharu Guzzle, kami boleh menggunakan 'body' => fopen('/path/to/file', 'r') dan 'body' => 'example of string' untuk menghantar permintaan.
  4. Optimumkan masa respons permintaan: Versi baharu Guzzle menyediakan pengawal strim pilihan yang membolehkan aliran data diproses antara permintaan dan respons, yang membantu mengurangkan masa respons dan menjimatkan sumber jalur lebar.

3. Contoh klien Guzzle

Seterusnya, kami akan menggunakan contoh untuk menunjukkan penggunaan perpustakaan Guzzle.

  1. Hantar permintaan GET:
$client = new GuzzleHttpClient();
$response = $client->request('GET', 'https://jsonplaceholder.typicode.com/posts');
echo $response->getBody();
Salin selepas log masuk

Analisis kod: Kod di atas mencipta contoh klien Guzzle, memulakan permintaan GET ke URL yang ditentukan dan memperoleh hasil respons.

  1. Hantar permintaan POST:
$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();
Salin selepas log masuk

Analisis kod: Kod di atas mencipta contoh klien Guzzle, memulakan permintaan POST ke URL yang ditentukan dan lulus form_paramsPilihan tetapkan kandungan kandungan permintaan. Akhir sekali, contoh ini mengeluarkan kod status HTTP dan hasil tindak balas.

  1. Permintaan tak segerak:
$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();
Salin selepas log masuk

Analisis kod: Kod di atas mencipta contoh klien Guzzle dan permintaan tak segerak, dan menetapkan fungsi panggil balik Promise. Dengan memanggil kaedah ->wait(), tunggu permintaan tak segerak selesai dan cetuskan fungsi panggil balik.

4. Kesimpulan

Sebagai perpustakaan pelanggan HTTP yang sangat baik, kepentingan perpustakaan Guzzle dalam pembangunan PHP adalah jelas. Memandangkan Guzzle 7.0 memperkenalkan banyak ciri dan pengoptimuman baharu dalam PHP8.0, saya percaya ia akan terus menduduki kedudukan yang berharga dalam kalangan pembangun PHP pada masa hadapan. Saya harap artikel ini akan membantu semua orang, dan pembaca dialu-alukan untuk mengetahui lebih lanjut tentang dan menggunakan perpustakaan Guzzle.

Atas ialah kandungan terperinci Pustaka Guzzle dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan