Команда 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