Витягування масивів з будь-якого типу даних за допомогою методу Arr::from у Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 14 червня, 2025
Метод Arr::from у Laravel відкриває нові можливості для роботи з різними типами даних, спрощуючи процес перетворення колекцій, об'єктів та інших структур в масиви. Як його ефективно використовувати в управлінні конфігураціями? Читайте далі, щоб дізнатися більше про цю потужну функцію
Новий метод Arr::from у Laravel пропонує єдиний підхід до перетворення колекцій, об'єктів та інших структур на масиви, розумно обробляючи різні типи вхідних даних Перетворення різних типів даних на масиви: ```php use Illuminate\Support\Arr; // З колекцій Arr::from(collect(['status' => 'active'])); // ['status' => 'active'] // З Jsonable об'єктів Arr::from($jsonable); // Декодує через інтерфейс Jsonable // З Arrayable об'єктів Arr::from($arrayable); // Повертає через метод toArray() ``` Ось як це може виглядати в класі менеджера конфігурацій: ```php class ConfigurationManager { public function processSettings($settings) { $array = Arr::from($settings); return $this->validateSettings($array); } public function combineConfigurations(...$configs) { return collect($configs) ->map(fn($config) => Arr::from($config)) ->reduce(fn($carry, $item) => array_merge($carry, $item), []); } public function sanitizeAndStore($configuration, array $schema) { $data = Arr::from($configuration); $validator = Validator::make($data, $schema); if ($validator->fails()) { throw new ValidationException($validator); } return $data; } } $manager = new ConfigurationManager(); $result = $manager->processSettings(collect(['cache' => 'redis'])); $combined = $manager->combineConfigurations( collect(['database' => 'mysql']), new DatabaseConfig(), $cacheSettings ); ``` Метод Arr::from забезпечує єдиний інтерфейс для витягування масивів, усуваючи потребу в перевірці типів даних або викликах різних методів залежно від структури вхідних даних