Rumah > pembangunan bahagian belakang > tutorial php > Manipulasi pelbagai dalam dengan kaedah pengganti Laravel ' s

Manipulasi pelbagai dalam dengan kaedah pengganti Laravel ' s

James Robert Taylor
Lepaskan: 2025-03-06 02:44:09
asal
814 orang telah melayarinya

Deep Array Manipulation with Laravel's replaceRecursive Method

Kaedah

Laravel adalah alat yang berkuasa untuk mengubah suai susunan bersarang semasa meninggalkan unsur -unsur yang tidak disentuh tidak berubah. Ini amat bermanfaat apabila berurusan dengan struktur konfigurasi yang rumit. replaceRecursive

Pertimbangkan contoh ini menggunakan koleksi Laravel:

$config = collect([
    'user' => [
        'name' => 'John',
        'settings' => [
            'theme' => 'dark',
            'notifications' => true,
        ]
    ]
]);

$updatedConfig = $config->replaceRecursive([
    'user' => [
        'settings' => [
            'theme' => 'light'
        ]
    ]
]);
Salin selepas log masuk
inilah aplikasi praktikal dalam sistem papan pemuka yang boleh dikonfigurasikan:

<?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(\App\Models\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 ?? []
        );
    }
}
Salin selepas log masuk

mengendalikan gabungan array yang mendalam, memelihara nilai -nilai yang tidak ditindas secara eksplisit. Ini menjadikannya sesuai untuk menguruskan kemas kini konfigurasi dan sistem keutamaan pengguna. replaceRecursive

Atas ialah kandungan terperinci Manipulasi pelbagai dalam dengan kaedah pengganti Laravel ' s. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan