Типізовані аксесоари для перекладів у Laravel 13.15.0

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

Laravel випустив версію 13.15.0 із типізованими аксесоарами для перекладів та підтримкою десеріалізації JSON Schema. Оновлення також впроваджує спеціальний драйвер для Cloud queue та критичні виправлення безпеки для стабільної розробки.

Команда Laravel випустила версію v13.15.0, яка додає типізовані аксесоари для перекладів, десеріалізацію JSON Schema, спеціальний драйвер для Cloud-черг, а також низку виправлень у безпеці валідації та роутингу.

  • Типізовані аксесоари trans()->string() та trans()->array()
  • Десеріалізація масивів JSON Schema та підтримка multi-type union
  • Спеціальний драйвер черг для Laravel Cloud із керованим обробленням
  • Виправлення обходу валідації date_equals та посилений захист десеріалізації маршрутів

# Що нового

# Типізовані аксесоари для перекладів

Хелпери перекладів зазвичай повертають змішані типи: __() повертає array|string|null, а trans()Translator|array|string. Це зручно для Blade-шаблонів, проте створює незручності у коді із суворою типізацією та при статичному аналізі. У цьому релізі до Translator додано два аксесоари, які повертають конкретні типи:

public function label(): string
{
    return trans()->string($this->name);
}
 
public function options(): array
{
    return trans()->array($this->options_key);
}

Такий підхід відповідає логіці інших типізованих хелперів, як-от config() та request(). Див. #60443.

# Десеріалізація JSON Schema

Компонент JsonSchema отримав десеріалізатор fromArray(), який перетворює необроблений масив JSON Schema назад в об'єкти Type. Також додано підтримку multi-type union для Schema builder. Див. #60387 та #60455.

# Драйвер для Laravel Cloud Queue

Реалізовано спеціальний драйвер для керованих черг у Laravel Cloud. Тепер такі черги ініціалізуються до завантаження сервіс-провайдерів. Якщо налаштована черга відсутня, викидається виняток ManagedQueueNotFoundException. Також виправлено нормалізацію імен FIFO-черг, а заголовок ID запиту змінено з X-Request-ID на Cloud-Request-ID (тепер він відображається в логах). Див. #60181 та інші пов'язані PR.

# Enums у Queue::route()

Тепер у метод Queue::route() можна передавати випадки Enum як для назви черги, так і для з'єднання під час маршрутизації джобів. Див. #60402.

# Безпека: виправлення обходу date_equals

Правило date_equals використовувало несуворе порівняння. Оскільки некоректна дата при парсингу перетворюється на null, а null == 0 повертає true, валідація могла бути помилково пройдена для дат, що відповідають «falsy» значенням (наприклад, 1970-01-01 00:00:00). Виправлення впроваджує суворе порівняння для оператора рівності. Див. #60393.

# Безпека: обмеження десеріалізації маршрутів

Десеріалізація роутингу тепер обмежує перелік дозволених класів. Це зменшує ризик об'єктної ін'єкції під час кешування та розв'язання маршрутів. Див. #60391.

# Оновлення хелпера Number

Виправлено кілька граничних випадків: Number::fileSize() тепер коректно обробляє від'ємні значення байтів, Number::trim() більше не повертає null для INF та NAN, а Number::pairs() адекватно працює з від'ємним кроком (step) та видає помилку при нульовому кроці, щоб уникнути нескінченних циклів. Див. #60147 та інші.

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

  • Усунуто нескінченну рекурсію в scope моделей із приватними атрибутами та у middleware-групах, що посилаються самі на себе (#59958, #60002)
  • Команда queue:failed тепер відображає реальні назви класів (#60279)
  • Додано трейт Prohibitable для команд cache:clear та queue:flush (#60430)
  • Клас InvokedProcess тепер підтримує макроси (#60392)
  • Додано generic-типи до геттерів DatabaseTransactionsManager та QueueRoutes::all() (#60420)

Корисні посилання:

Популярні

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

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

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

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

Використання повнотекстового пошуку в Laravel
178 Оновлено 26 червня, 2026

Використання повнотекстового пошуку в Laravel

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

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

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту