在CakePHP 3.4 輸出自訂HTTP 正文內容:避免「無法發出標頭」錯誤
CakePHP 控制器中禁止回顯回應,因為它可能會導致各種問題,包括“無法發出標頭”錯誤。
為什麼會發生錯誤
CakePHP 3.4 在回顯之前引入了對發送標頭的明確檢查回复。直接回顯資料違反了此策略,從而觸發錯誤。
輸出自訂 HTTP 內容的正確方法
建議的方法有兩種:
1。設定回應物件
<code class="php">$content = json_encode(['method' => __METHOD__, 'class' => get_called_class()]); $this->response = $this->response ->withStringBody($content) ->withType('json'); return $this->response;</code>
2.使用序列化視圖
<code class="php">$content = ['method' => __METHOD__, 'class' => get_called_class()]; $this->set('content', $content); $this->set('_serialize', 'content');</code>
此方法需要啟用請求處理和正確的請求設定(例如,在URL 中使用“.json”或設定Accept 標頭)。
結論
遵守這些實踐可確保正確處理 HTTP 回應並防止與直接回顯回應資料相關的錯誤。
以上是以下是一些標題選項,結合了問題格式和文章重點: **關注問題:** * **CakePHP 3.4:為什麼在回顯 Resp 時出現「無法發出標頭」錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!