Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 09 липня 2026

Підтримка HTTP-методу QUERY у Laravel 13.19

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

Ключові нововведення

Метод Http::query() для HTTP-клієнта

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

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

Існуюча обробка URL-параметрів залишається незмінною: методи withQueryParameters() та аргумент $query для get() продовжують працювати як і раніше.

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

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

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

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

Новий метод reduceInto() є варіантом reduce() для випадків, коли потрібно мутувати акумулятор на місці замість повернення нового значення на кожній ітерації. Колбек отримує акумулятор та поточний елемент, а його повернене значення ігнорується, тому об'єктні акумулятори не потребують 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);
});

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

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

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

Покращення черг завдань

Масові відправлення до SQS тепер використовують API SendMessageBatch замість окремого виклику для кожного завдання, що скорочує кількість запитів при додаванні багатьох завдань одночасно. Фейк черги тепер може інспектувати зарезервовані завдання, тож тести можуть перевіряти завдання, які взято в обробку, але ще не завершено.

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

Серед додаткових змін:

  • Передача параметра deletedAtColumn у методи assertSoftDeleted() та assertNotSoftDeleted()
  • Можливість визначати параметри конфігурації пошти без імені
  • Завершення значення стилю за замовчуванням крапкою з комою в методі ComponentAttributeBag::merge()
  • Додано тести для where-клаузів з відносними датами та методів past/future правила date

Повний список змін доступний у офіційному changelog та release notes.

12

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

PayZephyr
Новини 12 вересня 2026

PayZephyr: Єдиний API для роботи з Stripe, Paystack та PayPal

PayZephyr - Laravel-пакет від Nwaneri Chukwunyere Kenneth, який об'єднує вісім платіжних провайдерів під одним зручним API. Підтримує автоматичне перемикання, захист від подвійної оплати, підписки та повернення коштів.

2
Laravel Telescope
Новини 11 вересня 2026

Artisan-команди для дебагу в Laravel Telescope 5.24.0

Laravel Telescope 5.24.0 додає дві нові Artisan-команди для роботи із записами із терміналу. Тепер можна переглядати запити, винятки, джоби та запити до бази даних без відкриття веб-інтерфейсу, а також отримувати дані у форматі JSON для скриптів та AI-агентів.

3

Вакансії за темою

CommerceCore Нова
3 дні тому

Senior PHP Developer

Senior PHP Developer для розробки масштабованих backend-систем у e-commerce. Основний стек: PHP (Laravel/Symfony), MySQL, API-дизайн, мікросервіси. Вимоги: 5+ років досвіду з high-load системами, глибокі знання PHP і БД, розуміння безпеки та архітектури. Менторство команди та вирішення складних технічних задач.

Stape
10 днів тому

PHP Team Lead

PHP Team Lead для глобальної компанії, що розробляє систему серверного трекінгу. Потрібно керувати командою backend-інженерів, брати участь у розробці фіч, оптимізації та архітектурних рішеннях. Стек: PHP, Symfony, MySQL, PostgreSQL, Redis, RabbitMQ. Вимоги: 5+ років PHP, 3+ років Symfony, 2+ років керівництва, досвід з high-load БД, REST API, Docker.

Corefy
18 днів тому

Junior PHP Developer (Symfony)

Junior PHP Developer на Symfony для роботи з платіжними інтеграціями. Основні стек: PHP 8.3, Symfony 5−6, PostgreSQL/MySQL, Kafka, Docker, PHPUnit. Вимоги: 1.5−3+ років комерційного досвіду PHP (від 1+ року на Symfony), REST API, асинхронна обробка, SOLID/OOP, вміння писати тести. Гібридна робота в Київі, ментор з першого дня, можливість курсів і конференцій.

Пакети за темою

Larastan

nunomaduro/larastan

Larastan — це розширення phpstan/phpstan для Laravel, яке дозволяє виявляти помилки у коді без його запуску.

6,500 v3.11.0 13 9

Horizon

laravel/horizon

Панель управління та програмна конфігурація для черг Laravel.

4,166 v5.48.3 13 6