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