Обробка Fluent значень як масивів за допомогою методу array() у Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 травня, 2025
Ви знали, що Laravel спростив роботу з об'єктами Fluent завдяки новому методу array()? Ця стаття розкриє, як цей метод полегшує перетворення значень у масиви, роблячи ваш код більш чистим і зрозумілим

Laravel спрощує обробку значень об'єктів Fluent завдяки методу array(), який надає зручний спосіб конвертації значень в масиви без необхідності ручного приведення типів чи маніпуляцій з колекціями.

При роботі з об'єктами Fluent часто важливо, щоб значення поверталися у вигляді масивів, особливо при роботі з конфігураційними даними чи динамічними властивостями. Раніше це вимагало ручного приведення або використання колекцій. Новий метод array() спрощує цей процес:

$fluent = new Fluent(['email' => 'admin@example.com']);
$emails = $fluent->array('email');
// Результат: ['admin@example.com']

Цей метод є особливо корисним в системах управління налаштуваннями:

class SettingsManager
{
    protected $settings;
 
    public function __construct(array $config)
    {
        $this->settings = new Fluent($config);
    }
 
    public function getNotificationChannels(string $event)
    {
        // Завжди отримувати канали у вигляді масиву
        return $this->settings->array("alerts.{$event}.channels");
    }
 
    public function getTrustedHosts()
    {
        // Раніше: (array) $this->settings->get('hosts')
        // Або: $this->settings->collect('hosts')->all()
        return $this->settings->array('trusted_hosts');
    }
 
    public function getBackupLocations()
    {
        // Один або декілька шляхів завжди повернуть масив
        return $this->settings->array('backup_locations');
    }
}

Метод array() усуває необхідність в умовних перевірках і приведеннях типів, створюючи більш чистий і зручний для обслуговування код при роботі з об'єктами Fluent, які потребують стабільного виводу у вигляді масиву