Використання Fluent для роботи з HTTP клієнтськими відповідями в Laravel

Перекладено ШІ 0 Laravel News 13 грудня, 2024

Досліджуйте нові можливості Laravel 11.35, зокрема, як зручно перетворювати відповіді HTTP-клієнта на елементи класу Fluent. Чи готові ви вивчити прості покрокові методи для роботи з даними та отримати більше контролю над вашими проєктами

У Laravel 11.2.0 з'явилася fluent() допомога, яка спрощує конвертацію масивів у Fluent інстанції. Тепер, починаючи з Laravel 11.35, у нас є зручний метод для перетворення відповіді HTTP-клієнта на fluent інстанцію:

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", ...]

Ще одна корисна можливість — перетворення JSON-даних у конкретні типи. Наприклад, можна конвертувати рядкову дату в Carbon інстанцію:

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 також підтримує інші корисні типи, як-от boolean, enum, масиви enum та інші. Один із моїх улюблених способів — використовувати знайомі методи, як-от only і except, для отримання конкретних даних:

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" => "Одного вечора Чак Норріс поїв чилі на вечерю. А наступного дня стався Великий Вибух."
]
*/

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

# Дізнайтеся більше

Рекомендую ознайомитися з класом Fluent у документації Laravel API. Fluent використовує trait InteractsWithData, що містить безліч зручних методів для роботи з даними Fluent.

Популярні

Інше, що варто прочитати

15 Оновлено 01 червня, 2026

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

15 Оновлено 01 червня, 2026

Простий пакет RabbitMQ для Laravel

Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!

12 Оновлено 01 червня, 2026

Удосконалюйте свої проєкти Laravel за допомогою справжнього штучного інтелекту для кодування з Laravel Boost!

Готові підняти свій робочий процес у Laravel на новий рівень? У цій статті я розгляну Laravel Boost, інноваційний AI-допомічник для програмування, який зробить вашу розробку швидшою та продуктивнішою