---
title: "Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки"
url: https://laravelukraine.com/blog/laravel-13150-tipizovani-aksesori-dlia-perekladiv-ta-pokrashhennia-bezpeki
date: 2026-06-14
source: https://laravel-news.com/laravel-13-15-0?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+laravelnews
---

# Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки

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

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

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

```php
public function label(): string
{
    return trans()->string($this->name);
}

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

Цей підхід повторює логіку існуючих типізованих хелперів, таких як `config()` та `request()`.

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

Компонент `JsonSchema` отримав метод `fromArray()`, який перетворює сирий масив JSON Schema назад в об'єкти `Type` - це зворотна операція до серіалізації. Також додано підтримку об'єднань декількох типів (multi-type union) у конструкторі схем.

## Виділений драйвер черг для Laravel Cloud

В релізі з'явився спеціальний драйвер черг для керованих черг Laravel Cloud. Керовані черги тепер завантажуються до сервіс-провайдерів, драйвер викидає виключення `ManagedQueueNotFoundException`, коли налаштована черга відсутня, та виправлено нормалізацію імен FIFO-черг. Заголовок ідентифікатора запиту перейменовано з `X-Request-ID` на `Cloud-Request-ID` і тепер він виводиться в логах.

## Enum у методі Queue::route()

Тепер можна передавати enum-кейси в метод `Queue::route()` як для імені черги, так і для з'єднання при маршрутизації завдань.

## Виправлення вразливості date_equals

Правило валідації `date_equals` використовувало нестроге порівняння. Невалідний рядок дати парсився як `null`, а `null == 0` оцінюється як true, тому невалідна дата могла пройти валідацію проти референсної дати, що парситься у хибне значення (наприклад, `1970-01-01 00:00:00`). Виправлення використовує строге порівняння для оператора рівності, зберігаючи нестроге порівняння для легітимних об'єктів `DateTime`.

## Обмеження десеріалізації маршрутів

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

## Виправлення хелпера Number

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

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

- Виправлено нескінченну рекурсію, коли scope моделі визначається з приватним атрибутом, і коли група middleware посилається на саму себе
- Команда `queue:failed` тепер показує реальне ім'я класу
- Додано `Prohibitable` до команд `cache:clear` та `queue:flush`
- Клас `InvokedProcess` тепер підтримує макроси
- Забезпечено, щоб незмінені скомпільовані Blade-шаблони не залишалися прострочені
- Додано generics до геттерів `DatabaseTransactionsManager` та методу `QueueRoutes::all()`

Повний список змін доступний у [офіційному changelog](https://github.com/laravel/framework/blob/13.x/CHANGELOG.md) та [релізі v13.15.0](https://github.com/laravel/framework/releases/tag/v13.15.0).
