Comment générer du contenu de corps HTTP personnalisé dans CakePHP 3.4 ?

Susan Sarandon
Libérer: 2024-10-26 04:03:03
original
848 Les gens l'ont consulté

How to Output Custom HTTP Body Contents in CakePHP 3.4?

Sortie du contenu du corps HTTP personnalisé avec CakePHP 3.4

Contrairement aux versions précédentes, CakePHP 3.4 applique strictement la séparation de la manipulation des données et de la présentation dans les contrôleurs. Faire écho directement aux données peut entraîner des erreurs inattendues.

Pour afficher le contenu du corps HTTP personnalisé, CakePHP recommande d'utiliser soit l'objet de réponse conforme PSR-7, soit des vues sérialisées.

Configuration de l'objet de réponse

Interface conforme 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>
Copier après la connexion

Interface obsolète (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;<h3> Utilisation de vues sérialisées</h3>
<pre class="brush:php;toolbar:false"><code class="php">$content = ['method' => __METHOD__, 'class' => get_called_class()];

$this->set('content', $content);
$this->set('_serialize', 'content');</code>
Copier après la connexion

Cela nécessite que vous activiez le composant de gestionnaire de requêtes et que vous configuriez le routeur pour étendre l'analyse des requêtes JSON (avec .json ajouté aux URL) ou utiliser une requête appropriée avec une application/json accept header.

Conclusion

L'écho des données directement dans les contrôleurs est déconseillé dans CakePHP 3.4. Utilisez plutôt l'objet de réponse ou des vues sérialisées pour générer de manière fiable le contenu du corps HTTP personnalisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!