Rumah >pembangunan bahagian belakang >tutorial php >Persediaan Data Paparan Awal dengan Laravel Lihat Pencipta

Persediaan Data Paparan Awal dengan Laravel Lihat Pencipta

Emily Anne Brown
Emily Anne Brownasal
2025-03-06 02:43:09178semak imbas

Early View Data Preparation with Laravel View Creators

Laravel Lihat Pencipta membolehkan anda menyediakan data dengan segera selepas melihat instansiation, lebih awal daripada Lihat Combinator, yang menjadikannya ideal untuk menubuhkan data pandangan yang diperlukan atau mengoptimumkan prestasi.

Mari lihat contoh praktikal menguruskan menu aplikasi dinamik:

Pertama, daftar Pencipta Lihat:

use Illuminate\Support\Facades\View;
// 注册视图创建器
View::creator('dashboard', DashboardCreator::class);
Seterusnya, tentukan Kelas Pencipta Lihat:

<?php namespace App\View\Creators;

use App\Services\MenuService;
use Illuminate\View\View;
use Illuminate\Support\Facades\Auth;

class ApplicationMenuCreator
{
    protected $menuService;

    public function __construct(MenuService $menuService)
    {
        $this->menuService = $menuService;
    }

    public function create(View $view)
    {
        $user = Auth::user();

        $view->with([
            'mainMenu' => $this->menuService->getMainMenu($user),
            'quickActions' => $this->menuService->getQuickActions($user),
            'recentItems' => $this->menuService->getRecentItems($user),
            'notifications' => $this->menuService->getPendingNotifications($user)
        ]);
    }
}
Daftar Lihat Pencipta di

anda: AppServiceProvider

// 在你的 AppServiceProvider
public function boot()
{
    View::creator('layouts.app', ApplicationMenuCreator::class);
}
Akhir sekali, gunakan data dalam

: layouts/app.blade.php

<div class="sidebar">
    <nav>
        @foreach($mainMenu as $menuItem)
            <a class="https://www.php.cn/link/a754fc1765a45a6bc1a034140afd0669'active'] ? 'active' : '' }}" href="https://www.php.cn/link/a754fc1765a45a6bc1a034140afd0669'url'%5D%20%7D%7D">
                https://www.php.cn/link/a754fc1765a45a6bc1a034140afd0669'label'] }}
            </a>
        @endforeach
    </nav>

    @if(count($quickActions))
        <div class="quick-actions">
            @foreach($quickActions as $action)

                    {{ $action['label'] }}

            @endforeach
        </div>
    @endif
</div>
Lihat Pencipta Menyediakan penyediaan data awal untuk pandangan anda, memastikan data kritikal tersedia dengan segera selepas melihat instantiation. Ini membantu meningkatkan prestasi aplikasi dan penyelenggaraan kod.

Atas ialah kandungan terperinci Persediaan Data Paparan Awal dengan Laravel Lihat Pencipta. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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