Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengeluarkan Kandungan Badan Respons HTTP Tersuai Menggunakan CakePHP 3.4 dan PSR-7?

Bagaimana untuk Mengeluarkan Kandungan Badan Respons HTTP Tersuai Menggunakan CakePHP 3.4 dan PSR-7?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 12:22:02360semak imbas

How to Output Custom HTTP Response Body Contents Using CakePHP 3.4 and PSR-7?

Output Badan Respons HTTP Tersuai dengan CakePHP 3.4 dan PSR-7

CakePHP 3.4 memperkenalkan penggunaan objek tindak balas yang mematuhi PSR-7. Menggemakan data secara langsung melalui gema kini boleh mencetuskan ralat disebabkan semakan pengepala yang ketat.

Pengawal tidak seharusnya menggemakan data. Sebaliknya, gunakan kaedah berikut untuk mengeluarkan kandungan HTTP tersuai kandungan:

Menggunakan Antara Muka Respons PSR-7:

<code class="php">$content = json_encode(['method' => __METHOD__, 'class' => get_called_class()]);

$this->response = $this->response->withStringBody($content);
$this->response = $this->response->withType('json');

return $this->response;</code>

Menggunakan Antara Muka Respons Dihentikan (sebelum CakePHP 3.4.3):

<code class="php">$content = json_encode(['method' => __METHOD__, 'class' => get_called_class()]);

$this->response->body($content);
$this->response->type('json');

return $this->response;</code>

Menggunakan Paparan Bersiri:

<code class="php">$content = ['method' => __METHOD__, 'class' => get_called_class()];

$this->set('content', $content);
$this->set('_serialize', 'content');</code>

Pendekatan ini memerlukan Komponen Pengendali Permintaan dan URL yang betul atau pengepala permintaan untuk mencetuskan pemaparan paparan JSON.

Rujukan:

  • [Buku Masakan: Pengawal & Tindakan](https://book.cakephp.org/4/en/controllers.html#controller-actions)
  • [Buku Masakan: Objek Permintaan & Respons & Badan Tetapan](https://book.cakephp.org/4/en/controllers.html#setting-the-body)
  • [Buku Masakan: Views & JSON/XML](https://book.cakephp.org/4/en/views.html#json-and-xml-views)
  • [PHP FIG: Antara Muka Mesej HTTP PSR-7] (https://www.php-fig.org/psr/psr-7/)

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Kandungan Badan Respons HTTP Tersuai Menggunakan CakePHP 3.4 dan PSR-7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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