Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mendapatkan Kembali Badan Respons dengan Cekap dalam Guzzle 6?

Bagaimana untuk Mendapatkan Kembali Badan Respons dengan Cekap dalam Guzzle 6?

Barbara Streisand
Lepaskan: 2024-11-28 13:54:14
asal
625 orang telah melayarinya

How to Efficiently Retrieve the Response Body in Guzzle 6?

Dapatkan Badan daripada Respons dalam Guzzle 6

Apabila bekerja dengan Guzzle, badan respons disimpan dalam strim. Untuk mendapatkannya semula, terdapat dua pendekatan biasa.

Menggunakan Operator Penghantaran PHP


$kandungan = (rentetan) $respons-> getBody();

Operasi ini akan membaca semua data dari awal aliran hingga akhir. Panggilan seterusnya ke getBody()->getContents() akan mengembalikan rentetan kosong.

Menggunakan getBody()->getContents()

$contents = $response->getBody()->getContents();
Salin selepas log masuk

Dengan getContents(), ia hanya mengembalikan baki kandungan strim. Jika anda memanggilnya dua kali tanpa mencari kedudukan menggunakan rewind() atau seek(), ia akan mengembalikan rentetan kosong.

Contoh

Menggunakan (rentetan):

$contents = (string) $response->getBody();
echo $contents; // Prints entire response body
$contents = (string) $response->getBody();
echo $contents; // Empty string, as data has already been consumed
Salin selepas log masuk

Menggunakan getContents():

$stream = $response->getBody();
$contents = $stream->getContents(); // Prints entire response body
$contents = $stream->getContents(); // Empty string, as data has not been reset
$stream->rewind(); // Reset stream
$contents = $stream->getContents(); // Prints entire response body
Salin selepas log masuk

Kesimpulan

Kedua-dua pendekatan mendapatkan semula badan tindak balas. Pilih kaedah berdasarkan keperluan khusus anda, seperti sama ada anda perlu membaca data sekali atau beberapa kali sahaja.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Badan Respons dengan Cekap dalam Guzzle 6?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan