Laravel 13.19 отримав підтримку методу HTTP QUERY та нові хелпери для колекцій і рядків

Перекладено ШІ 0 Laravel News 09 липня, 2026

Реліз Laravel 13.19.0 приносить повноцінну підтримку методу HTTP QUERY та нові зручні інструменти для роботи з колекціями й рядками. Оптимізація черг SQS та корисні хелпери для тестування зроблять ваш досвід розробки ще приємнішим.

У релізі Laravel 13.19.0 з’явилася повноцінна підтримка методу HTTP QUERY в HTTP-клієнті та інструментах для тестування. Також розробники додали корисні оновлення для колекцій, рядків та черг разом із традиційними виправленнями помилок.

  • Метод Http::query() для відправки запитів QUERY;
  • Хелпери query() та queryJson() для HTTP-тестування;
  • Метод колекцій reduceInto() для мутації акумулятора;
  • Хелпер counted() для Str та Stringable;
  • Масове відправлення в SQS через SendMessageBatch та інспекція зарезервованих завдань у QueueFake.

# Що нового

# Метод Http::query()

HTTP-клієнт отримав метод query() для запитів з використанням HTTP-дієслова QUERY. На відміну від GET, цей метод передає параметри в тілі запиту, а не в URL. Він працює аналогічно до post(), put() та patch(): за замовчуванням надсилає JSON або дані форми, якщо викликати asForm().

$response = Http::query('https://api.example.com/search', [
    'filter' => ['status' => 'active'],
]);

Робота з параметрами в URL залишилася без змін: withQueryParameters() та аргумент $query у методі get() працюють як і раніше. Детальніше у #60663.

# Тестові хелпери query() та queryJson()

Для підтримки нових можливостей клієнта в набір для тестування додали методи query() та queryJson(). Вони дозволяють перевіряти маршрути, що очікують QUERY-запити, передаючи дані в тілі запиту подібно до методів delete() або deleteJson().

Route::match(['QUERY'], '/search', fn () => request()->input('filter'));
 
$this->queryJson('/search', ['filter' => 'active'])->assertOk();

Детальніше у #60662.

# Метод колекцій reduceInto()

reduceInto() — це варіація методу reduce() для випадків, коли ви змінюєте безпосередньо акумулятор, а не повертаєте нове значення на кожній ітерації. Callback отримує акумулятор та поточний елемент; результат виконання ігнорується, тому для об’єктів-акумуляторів return більше не потрібен:

$stats = $orders->reduceInto(new OrderStats, function ($stats, $order) {
    $stats->total += $order->amount;
    $stats->count++;
    $stats->largest = max($stats->largest, $order->amount);
});

Для масивів або скалярних значень використовуйте передачу акумулятора за посиланням:

$tagsMap = $posts->reduceInto([], function (&$map, $post) {
    $post->tags->each(fn ($tag) => $map[$tag][] = $post->title);
});

Детальніше у #60651.

# Хелпер для рядків counted()

Метод Str::counted() та його аналог у Stringable дозволяють за один виклик змінити форму слова залежно від числа та додати саму кількість. Це зручне скорочення для plural($count, prependCount: true):

str('order')->counted(1); // "1 order"
str('order')->counted(2); // "2 orders"

Детальніше у #60649.

# Покращення черг (Queue)

Масове відправлення завдань в SQS тепер використовує SendMessageBatch API замість окремих запитів для кожного завдання. Це суттєво скорочує кількість мережевих запитів при великих навантаженнях (#60645). Крім того, QueueFake тепер вміє інспектувати зарезервовані завдання, що дозволяє тестувати процеси, які вже почалися, але ще не завершилися (#60644).

# Інші виправлення та покращення

  • Передача deletedAtColumn у методи assertSoftDeleted() та assertNotSoftDeleted() (#60657);
  • Можливість визначати параметри конфігурації пошти без вказання імені (#60668);
  • Додавання крапки з комою в кінці значень стилів у ComponentAttributeBag::merge() (#60665);
  • Нові тести для where-умов із відносними датами та методів past/future у валідації дат (#60675, #60687).

Посилання

Популярні

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

50 Оновлено 26 червня, 2026

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту

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

Управління доступом у Filament за допомогою плагіна Shield

Дізнайтеся, як пакет Filament Shield забезпечує управління доступом до ваших панелей, ресурсів і віджетів у Laravel. Ця стаття розкриває основні можливості пакету, включаючи просту установку та підтримку багатокористувацьких середовищ — не пропустіть!

27 Оновлено 26 червня, 2026

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!