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

11

Коментарі

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

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

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

Laracon US 2026: відео першого дня вже доступне Рекомендовано
Новини 29 липня 2026

Laracon US 2026: відео першого дня вже доступне

У Бостоні стартував Laracon US 2026, і запис першого дня вже доступний. Головне з кейноуту: офіційний Laravel LSP для редакторів, Laravel Cloud деплоїть Hono, Flask, Go та Rails, Pest 5 із Tia Engine. Аарон Френсіс приєднався до команди Laravel.

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM
Новини 29 липня 2026

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM

На першому дні Laracon US 2026 Нуно Мадуро представив Pest 5. Головне - Tia Engine, що переганяє лише зачеплені змінами тести й скорочує десятихвилинний прогін до кількох секунд, плюс плагіни для AI-агентів, evals, PHPStan і Rector.

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

PHP Developer

Senior PHP/Laravel розробник для створення та підтримки API-сервісів та систем інтеграції. Основні обов'язки: проектування partner-facing APIs, реалізація механізмів синхронізації даних у реальному часі, робота з REST API та вебхуками. Вимоги: 5+ років досвіду, експертиза PHP/Laravel, глибоке розуміння REST API, досвід з Git/CI-CD та AI-інструментами для розробки.

5Blue Software Нова
1 дн. тому

Senior AI Full-Stack Engineer

Senior Full-Stack Engineer з фокусом на AI-асистентів для розробки. Розроблятимете backend-сервіси (PHP/Laravel, RabbitMQ) та frontend (Vue.js), проектуватимете API, працюватимете з асинхронною обробкою, базами даних (MongoDB, PostgreSQL) та Docker. Вимагається досвід використання AI-кодингових інструментів (Claude, Cursor, Copilot), сильні навички архітектури та здатність швидко вивчати нові технології.

5BLUE Software Нова
2 дн. тому

Senior AI Full-Stack Engineer

Senior AI Full-Stack Engineer для розробки backend-сервісів та frontend-функцій у екосистемі взаємопов'язаних сервісів. Основний стек: PHP 8.4+, Laravel 12, Vue.js, RabbitMQ, MongoDB, PostgreSQL. Вимоги: доведений досвід з AI-асистентами (Claude Code, Cursor, GitHub Copilot), сильні основи архітектури та API-дизайну, досвід з Docker, Git, SQL/NoSQL. Потрібна здатність швидко вивчати нові технології та валідувати AI-код перед production.

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

Larastan

nunomaduro/larastan

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

6,449 v3.10.0 13 8

Horizon

laravel/horizon

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

4,158 v5.48.1 13 5