Maison >développement back-end >tutoriel php >Utiliser Fluent pour travailler avec les réponses des clients HTTP à Laravel

Utiliser Fluent pour travailler avec les réponses des clients HTTP à Laravel

Robert Michael Kim
Robert Michael Kimoriginal
2025-03-06 01:01:10491parcourir

Using Fluent to Work With HTTP Client Responses in Laravel

Dans Laravel 11.2.0, nous avons obtenu une aide fluent() pour convertir facilement les données du tableau en une instance courante. Maintenant, à partir de Laravel 11.35, nous avons une méthode pratique pour transformer une réponse client HTTP en une instance courante:

<!-- Syntax highlighted by torchlight.dev -->use Illuminate\Support\Facades\Http;

$response = Http::get('https://jsonplaceholder.typicode.com/posts')->fluent();

$response->get('0.title'); // sunt aut facere...
$response->collect()->pluck('title'); // ["sunt aut facere...", "qui est esse
", ...]

Une autre fonctionnalité soignée consiste à convertir les données JSON en types spécifiques. Prenez cet exemple où nous pouvons convertir une date de chaîne en une instance Carbon:

<!-- Syntax highlighted by torchlight.dev -->use Illuminate\Support\Facades\Http;

$response = Http::get('https://api.chucknorris.io/jokes/random')->fluent();

$response->date('created_at');
$response->date('updated_at');

/*
Illuminate\Support\Carbon @1578231741 {#261 ▼ // routes/web.php:9
  date: 2020-01-05 13:42:21.455187 UTC (+00:00)
}
*/

Fluent prend également en charge d'autres types utiles comme boolean, enum, le tableau de enum, et plus encore. L'un de mes favoris est d'utiliser des méthodes familières comme only et except pour récupérer des données spécifiques:

<!-- Syntax highlighted by torchlight.dev -->use Illuminate\Support\Facades\Http;

$response = Http::get('https://api.chucknorris.io/jokes/random')->fluent();

$response->except('categories'),
/*
array:6 [▼ // routes/web.php:9
  "created_at" => "2020-01-05 13:42:19.897976"
  "icon_url" => "https://api.chucknorris.io/img/avatar/chuck-norris.png"
  "id" => "KqoQdIJdSE2ezokPmHSvdw"
  "updated_at" => "2020-01-05 13:42:19.897976"
  "url" => "https://api.chucknorris.io/jokes/KqoQdIJdSE2ezokPmHSvdw"
  "value" => "One night Chuck Norris had Chili for dinner. The very next day the Big Bang happened."
]
*/

$response->only('id', 'url', 'value');

#learn More

Je recommanderais de me familiariser avec la classe courante des documents Laravel API. Cluent utilise le trait InteractwithData, qui nous donne un tas de méthodes pratiques pour travailler avec des données courantes.

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!

Déclaration:
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