Десеріалізація JSON Schema у Laravel 13.14

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

Команда Laravel випустила версію 13.14.0, у якій з’явився десеріалізатор для JSON Schema та покращена логіка спадкування атрибутів у чергах. Також реліз містить важливі виправлення для HTTP-клієнта та поштової системи, що роблять розробку ще надійнішою.

Команда Laravel представила реліз v13.14.0 (від 04.06.2026). Основні оновлення включають новий десериалізатор для бібліотеки JSON Schema, виправлення логіки успадкування атрибутів у чергах, розширені можливості моніторингу завдань, а також низку виправлень для HTTP-клієнта та поштової системи.

  • JsonSchema::fromArray() — для відновлення об'єктів Type із масивів;
  • властивості дочірніх завдань у чергах тепер перекривають успадковані атрибути;
  • до класу InspectedJob додано властивість queue;
  • коректне кешування falsy-значень у JSON-відповідях HTTP-клієнта;
  • виправлення вкладень у Mail та обробки null-заголовків.

# Що нового

# Десериалізація масивів у JSON Schema

@pushpak1300 реалізував метод JsonSchema::fromArray(), який конвертує «сирий» масив JSON Schema назад в об'єкт Type. Раніше бібліотека працювала лише в одному напрямку: можна було створити об'єкт Type та серіалізувати його в масив. Новий Deserializer доповнює Serializer, дозволяючи перетворювати отримані схеми на об'єкти, з якими працює API.

$type = JsonSchema::fromArray([
    'type' => 'object',
    'properties' => [
        'name' => ['type' => 'string', 'minLength' => 1],
        'age' => ['type' => 'integer', 'minimum' => 0],
    ],
    'required' => ['name'],
]);
// Повертає ObjectType

Ці операції повністю сумісні: JsonSchema::fromArray(), застосований до серіалізованого типу, повертає еквівалентний об'єкт.

PR: #60384

# Перевизначення атрибутів у дочірніх класах черг

@mattiasgeniar виправив помилку в логіці успадкування системи черг. Раніше, якщо батьківський клас мав атрибут черги (наприклад, #[Timeout(40)]), дочірній клас не міг змінити це значення через оголошення однойменної властивості. Тепер встановлено чіткий пріоритет: атрибути класу все ще мають перевагу над властивостями того ж класу, проте властивості дочірнього класу тепер успішно перекривають атрибути, успадковані від батька.

PR: #60369

# Назва черги в Inspected Jobs

@jackbayliss додав властивість queue до класу InspectedJob. Це дозволяє бачити, до якої саме черги призначено завдання під час інспектування відкладених процесів. Функція працює для драйверів database та Redis.

PR: #60374

# Коректне кешування falsy-значень у JSON

@Button99 виправив баг, через який валідні falsy-значення у JSON (false, 0 або null) не кешувалися у відповідях HTTP-клієнта. Тепер для відстеження статусу декодування використовується окремий прапорець, тому falsy-результати не сприймаються як «ще не декодовані» і не обробляються повторно при кожному зверненні.

PR: #60357

# Виправлення у Mail та заголовках

Цей реліз також містить низку дрібних покращень:

  • @miladev95 виправив обробку вкладених даних у Message::embed (#60361);
  • @GrahamCampbell вдосконалив роботу з null-заголовками (#60386);
  • @irabbi360 забезпечив сумісність Request::createFromBase() із Symfony 8.1 (#60354);
  • @tontonsb зареєстрував хук lazy refresh для всіх з'єднань (#60359);
  • @timacdonald виніс форматувальник хмарних логів у власний namespace (#60362);
  • @jackbayliss уточнив у документації, що DebounceFor вимірюється в секундах (#60388).

Джерела:

Популярні

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

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

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

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

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

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

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

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

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!