Команда Laravel випустила версію v12.11.0, що включає нові можливості: типізовані Arr методи-геттери, доповнення до вантажу роботи, клас FakeJob тепер реалізує контракт Job та інші зміни:
Ентоні Тіббс додав типізовані геттери для класу підтримки Arr з підтримкою array, boolean, float, integer та string. Кожен метод намагатиметься повернути значення певного типу, а при невідповідності викидатиме виключення:
use Illuminate\Support\Arr;
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];
$value = Arr::array($array, 'languages'); // ['PHP', 'Ruby']
$value = Arr::array($array, 'name'); // генерує InvalidArgumentException
Деталі можна знайти у Pull Request #55567.
Тейлор Отвелл додав інформацію про створення вантажу та затримку роботи до вантажів. Затримка — опціональна затримка в секундах, а createdAt — це часовий штамп, коли було створено вантаж роботи:
$job->payload();
/*
Тепер включає: ['delay' => 5, 'createdAt' => 1745965273]
*/
Деталі за посиланням: Pull Request #55529.
Тім Макдональд додав контракт Illuminate\Contracts\Queue\Job до класу FakeJob, що використовується в тестах для підроблення чергових завдань:
Підроблена завдання застосовується там, де очікується реалізація контракту роботи.
Це забезпечує підтримку строгого типізування контракту роботи, коли, наприклад, слухаються події і передається екземпляр завдання.
Деталі у Pull Request #55574.
Повний список нових можливостей та оновлень можна знайти нижче, а також порівняння між 12.10.0 та 12.11.0 на GitHub. Наведені примітки до випуску взяті з changelog:
@internal анотацію з властивості $components в InteractsWithIO від @michaelnabil230: Pull RequestAnyOf від @axlon: Pull RequestEnum від @cosmastech: Pull Request