Метод replaceRecursive у Laravel надає потужне рішення для оновлення вкладених масивів без втрати незмінних значень, що є особливо корисним при роботі зі складними структурами конфігурацій.
$collection = collect([
'user' => [
'name' => 'John',
'settings' => [
'theme' => 'dark',
'notifications' => true,
]
]
]);
$updated = $collection->replaceRecursive([
'user' => [
'settings' => [
'theme' => 'light'
]
]
]);
Розгляньмо практичний приклад із системою налаштувань інформаційної панелі:
<?php
namespace App\Services;
use Illuminate\Support\Collection;
class DashboardConfigurationService
{
public function mergeUserPreferences(array $defaultConfig, array $userPreferences): array
{
return collect($defaultConfig)->replaceRecursive($userPreferences)->all();
}
public function getConfiguration(User $user): array
{
$defaultConfig = [
'layout' => [
'sidebar' => [
'position' => 'left',
'width' => 250,
'collapsed' => false
],
'theme' => [
'mode' => 'light',
'color' => 'blue',
'font_size' => 14
],
'widgets' => [
'weather' => true,
'calendar' => true,
'notifications' => true
]
]
];
return $this->mergeUserPreferences(
$defaultConfig,
$user->dashboard_preferences ?? []
);
}
}
ReplaceRecursive забезпечує елегантний спосіб обробки глибоких оновлень масивів, зберігаючи при цьому незазначені значення. Це ідеальне рішення для управління злиттями конфігурацій і системами переваг.
Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу