Метод Arr::from() у Laravel 12.14

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Досліджуйте новини останнього оновлення Laravel версії 12.14.0, яке пропонує користувачам потужні нові функції, включаючи методи для зручного маніпулювання масивами та контекстами. Які саме інновації укріплять вашу розробницьку практику? Читайте далі, щоб дізнатися більше

Команда Laravel випустила версію v12.14.0, яка включає нові можливості: метод Arr::from(), метод контейнера currentlyResolving(), нові методи except для класу Context та багато іншого:

# Метод Arr::from()

Сергій Данілченко додав метод Arr::from(), який отримує базовий масив елементів з переданого аргументу:

use Illuminate\Support\Arr;

Arr::from(collect(['name' => 'Laravel'])); // ['name' => 'Laravel']
Arr::from($jsonable); // Декодує об'єктні дані через `Jsonable` в масив
Arr::from($arrayable); // Повертає масив за допомогою методу `toArray()` об'єкта

Деталі можна знайти у Pull Request #55715.

# Нові методи Context

Володя Куршудян додав методи except() та exceptHidden() до класу Context, що дозволяє отримувати всі значення, окрім зазначених ключів:

Context::add('user_id', 42);
Context::add('request_id', 'req-abc123');
Context::add('ip_address', '192.168.0.1');
Context::add('sensitive_token', 'secret');

$logData = Context::except(['sensitive_token']);

// Результат:
[
    'user_id' => 42,
    'request_id' => 'req-abc123',
    'ip_address' => '192.168.0.1',
]

Деталі можна знайти у Pull Request #55692.

# Утиліта currentlyResolving в контейнері

Джастін Селіга додав метод currentlyResolving, який повертає зв'язок, який контейнер зараз розв'язує:

#[Attribute(Attribute::TARGET_PARAMETER)]
class RegisteredFor implements ContextualAttribute
{
    public static function resolve(self $attribute, Container $container): array
    {
        $resolving = $container->currentlyResolving(); // Production::class

        return resolve(Registrar::class)->for($resolving);
    }
}

Деталі можна знайти у Pull Request #55684.

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

Повний список нових можливостей та оновлень доступний нижче, а також ви можете переглянути різницю між 12.13.0 та 12.14.0 на GitHub. Наступні примітки безпосередньо з changelog:

# v12.14.0

Популярні

Logomark Logotype

Інтеграція Laravel Socialite з бібліотекою Google Client PHP

Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

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