CakePHP 3.4 と PSR-7 を使用してカスタム HTTP 応答本文の内容を出力する方法は?

Patricia Arquette
リリース: 2024-10-27 12:22:02
オリジナル
359 人が閲覧しました

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

CakePHP 3.4 および PSR-7 によるカスタム HTTP 応答本文出力

CakePHP 3.4 では、PSR-7 準拠の応答オブジェクトの使用が導入されています。 echo 経由でデータを直接エコー すると、厳密なヘッダー チェックが原因でエラーが発生する可能性があります。

コントローラーはデータをエコーすべきではありません。 代わりに、次のメソッドを使用してカスタム HTTP ボディを出力します。内容:

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>
ログイン後にコピー

非推奨の応答インターフェイスの使用 (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>
ログイン後にコピー

シリアル化されたビューの使用:

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

$this->set('content', $content);
$this->set('_serialize', 'content');</code>
ログイン後にコピー

このアプローチでは、リクエスト ハンドラー コンポーネントと、JSON ビューのレンダリングをトリガーするための適切な URL またはリクエスト ヘッダーが必要です。

参考文献:

  • [クックブック: コントローラーとアクション](https://book.cakephp.org/4/en/controllers.html#controller-actions)
  • [クックブック: リクエスト & レスポンス オブジェクト & ボディの設定](https://book.cakephp.org/4/en/controllers.html#setting-the-body)
  • [クックブック:ビューと JSON/XML](https://book.cakephp.org/4/en/views.html#json-and-xml-views)
  • [PHP 図: PSR-7 HTTP メッセージ インターフェイス] (https://www.php-fig.org/psr/psr-7/)

以上がCakePHP 3.4 と PSR-7 を使用してカスタム HTTP 応答本文の内容を出力する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!