В Laravel 12.11 додано геттери для типізованих масивів

Перекладено ШІ 0 Laravel News 01 травня, 2025

Ознайомтеся з новими можливостями випуску Laravel v12.11.0, серед яких типізовані геттери для Arr, нові функції для Job Payload та багато іншого. Чи готові ви дізнатися, які зміни можуть спростити вашу роботу з Laravel? Читайте далі

```html

Команда Laravel випустила версію v12.11.0, що включає нові можливості: типізовані Arr методи-геттери, доповнення до вантажу роботи, клас FakeJob тепер реалізує контракт Job та інші зміни:

# Типізовані Геттери для Arr Helpers

Ентоні Тіббс додав типізовані геттери для класу підтримки 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 та Original Delay до Вантажу Роботи

Тейлор Отвелл додав інформацію про створення вантажу та затримку роботи до вантажів. Затримка — опціональна затримка в секундах, а createdAt — це часовий штамп, коли було створено вантаж роботи:

$job->payload();
/*
Тепер включає: ['delay' => 5, 'createdAt' => 1745965273]
*/

Деталі за посиланням: Pull Request #55529.

# Переконатися, що FakeJob Реалізує Контракт Job

Тім Макдональд додав контракт Illuminate\Contracts\Queue\Job до класу FakeJob, що використовується в тестах для підроблення чергових завдань:

Підроблена завдання застосовується там, де очікується реалізація контракту роботи.

Це забезпечує підтримку строгого типізування контракту роботи, коли, наприклад, слухаються події і передається екземпляр завдання.

Деталі у Pull Request #55574.

# Примітки до випуску

Повний список нових можливостей та оновлень можна знайти нижче, а також порівняння між 12.10.0 та 12.11.0 на GitHub. Наведені примітки до випуску взяті з changelog:

# v12.11.0

  • Додано створення вантажу та інформацію про початкову затримку до вантажу роботи від @taylorotwell: Pull Request
  • Додано опцію конфігурації для ігнорування відміток часу кеша представлень від @pizkaz: Pull Request
  • [12.x] Відправлення NotificationFailed при невдачі відправлення від @rodrigopedra: Pull Request
  • [12.x] Можливість відключити dispatchAfterResponse в тестах від @gdebrauwer: Pull Request
  • [12.x] Передача прапорців в кастомний Json::$encoder від @rodrigopedra: Pull Request
  • [12.x] Використання pendingAttributes взаємовідносин при створенні моделей взаємовідносин через фабрики моделей від @gdebrauwer: Pull Request
  • [12.x] Виправлення подвійного запиту під час серіалізації відношень моделі від @AndrewMast: Pull Request
  • [12.x] Покращення перевірки кругового відношення в автоматичному завантаженні відношення від @litvinchuk: Pull Request
  • [12.x] Запобігання серіалізації контексту автозавантаження відношень від @litvinchuk: Pull Request
  • Видалено @internal анотацію з властивості $components в InteractsWithIO від @michaelnabil230: Pull Request
  • Переконатися, що підроблене завдання реалізує контракт роботи від @timacdonald: Pull Request
  • [12.x] Виправлення типу параметра конструктора AnyOf від @axlon: Pull Request
  • Синхронізація змін у компонентах Illuminate перед випуском від @driesvints: Pull Request
  • [12.x] Встановлення клас-стрінгів генералізованих на правилі Enum від @cosmastech: Pull Request
  • [12.x] Додано детальні документальні типи до методів, пов'язаних з прив'язками від @taka-oyama: Pull Request
  • [12.x] Покращення директиви @use для підтримки модифікаторів функцій та констант від @rodolfosrg: Pull Request
  • 12.x заплановане завдання не відправлено при невдачі запланованого завдання від @achrafAa: Pull Request
  • [12.x] Введення методів Reflector для доступу до класових атрибутів від @daniser: Pull Request
  • [12.x] Типізовані геттери для допомоги Arr від @tibbsa: Pull Request
```

Популярні

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

74 Оновлено 02 червня, 2026

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

21 Оновлено 02 червня, 2026

Створення MCP-серверів на PHP

Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту

53 Оновлено 02 червня, 2026

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу