Laravel 12.44 додає можливість afterResponse() callbacks у HTTP Client

Перекладено ШІ 2 Laravel News 02 червня, 2026

У Laravel 12.44 з'явилися callback-и після побудови HTTP‑відповіді, TestResponse::assertHeaderContains, нові now‑методи для Rule::date() та поле попередньої локалі в LocaleUpdated. Дізнайтеся, як ці оновлення спростять тести й роботу з HTTP‑відповідями у вашому проєкті.

Команда Laravel випустила версію 12.44 із можливістю запускати колбеки HTTP-клієнта після формування відповіді, новим методом перевірки заголовків у TestResponse, додатковими методами для fluent-валидації дат та іншими змінами.

# Запуск колбеків після формування HTTP-відповіді

Luke Kuzmish додав можливість визначати колбеки, які виконуються після побудови відповіді в HTTP-клієнті Laravel. Колбек дозволяє перевіряти відповідь, надсилати події або навіть змінювати її через afterResponse():

return Http::acceptJson()
    ->withHeader('X-Shopify-Access-Token', $shopCreds->token)
    ->baseUrl("https://{$shopCreds->shop_domain}.myshopify.com/admin/api/2025-10/")
    ->afterResponse(
        // Повідомити про будь-які deprecation-повідомлення з заголовка
        function (Response $response) use ($shopCreds) {
            $header = $response->header('X-Shopify-API-Deprecated-Reason');
            if ($header) {
                event(new ShopifyDeprecationNotice($shopCreds->shop, $header);
            }
     })
    ->afterResponse(
        // Проточити відповідь у наш власний клас відповіді
        fn (Response $response) => new ShopifyResponse($response->toPsrResponse())
    );

Деталі реалізації — у Pull Request #58088.

# Метод TestResponse::assertHeaderContains()

@Milad додав новий assertion-метод до класу TestResponse, який допомагає перевіряти вміст заголовка HTTP-відповіді в тестах:

$response->assertHeaderContains('X-Custom-Header', 'value');

Деталі — у Pull Request #58200.

# Додано методи "now" до правила Date

Caleb White додав нові методи до fluent-правила Date для перевірок, пов’язаних із now():

Rule::date()->andTime()->nowOrPast();
Rule::date()->andTime()->nowOrFuture();
Rule::date()->andTime()->future();
Rule::date()->andTime()->past();

Деталі — у Pull Request #58059.

# Додано попередню локаль до події LocaleUpdated

Matteo Palazzo оновив подію LocaleUpdated, додавши властивість $previous. Тепер у слухачів є доступ до попередньої локалі при обробці події:

function (LocaleUpdated $event) {
    return $event->locale === 'foo' & $event->previousLocale === 'bar';
}

Деталі — у Pull Request #58179.

# Нотатки релізу

Повний перелік нововведень та змін і diff між 12.43.0 і 12.44.0 доступні на GitHub. Нижче — виписка з changelog:

# v12.44.0

Популярні

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

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

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

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

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

Intervention Image: потужний інструмент для роботи з зображеннями у Laravel

Досліджуйте потужний пакет Intervention Image для PHP, який виводить редагування зображень на новий рівень з оновленою версією 3. Чи готові ви дізнатися, які нові можливості та функції чекають на вас у цьому інструменті

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

Локальні моделі та їх скоупи в Laravel за допомогою атрибута Scope

В Laravel 12 ми отримали можливість використовувати новий підхід для визначення локальних скоупів у моделях Eloquent. Дізнайтеся, як новий атрибут #[Scope] спрощує цей процес і зберігає ваші назви методів незмінними