Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 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.

14

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

Коментарі

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

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

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

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

18
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

16

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

Bewort Нова
2 дні тому

AI-Driven PHP Developer

Розробник бекенду на PHP/Laravel для платформи охорони здоров'я (кредентиалінг, комплаєнс, стафінг, автоматизація робочих процесів). Завдання: проєктування REST API та масштабованої архітектури, робота з PostgreSQL, асинхронні черги (AWS SQS, RabbitMQ, Kafka), участь у AI-автоматизації та розробка краулерів. Вимоги: 4+ років бекенд або фулстек досвіду, сильний Laravel, продуктове мислення, англійська B2+.

Stape
5 днів тому

PHP Team Lead

Керівник команди PHP-розробників, який наймає й розвиває бекенд-інженерів, планує завдання і ресурси, контролює передбачуваність поставок та усуває ризики і блокери. Також потрібно розробляти нові функції, оптимізувати продуктивність і масштабування high-load систем, проводити code review та брати участь в архітектурних рішеннях. Стек: PHP, Symfony, MySQL, PostgreSQL, Redis, RabbitMQ, REST API. Вимоги: 5+ років досвіду з PHP, 3+ роки з Symfony, 2+ роки керівництва командою, досвід роботи з high-

Corefy
10 днів тому

Strong Junior / Middle PHP Developer (Integrations)

Розробник PHP, у команду інтеграцій платіжної платформи. Потрібні 1,5–3+ років комерційного досвіду на PHP (7.4+/8.x) і 1+ року з Symfony 5–6. Основний стек: PHP 8.3, Symfony, PostgreSQL/MySQL, Docker, Redis, Kafka. Завдання: розробка та інтеграція платіжних рішень, код-ревю, оптимізація архітектури, робота з документацією провайдерів. Вимоги: RESTful API, юніт-тестування (PHPUnit), Git, SOLID, OOP, системне мислення.

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

Larastan

nunomaduro/larastan

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

6,538 v3.13.0 13 9

Horizon

laravel/horizon

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

4,177 v5.50.1 13 7