Maison > développement back-end > tutoriel php > Préparation des données de vue précoce avec Laravel View Creators

Préparation des données de vue précoce avec Laravel View Creators

Emily Anne Brown
Libérer: 2025-03-06 02:43:09
original
176 Les gens l'ont consulté

Early View Data Preparation with Laravel View Creators

Laravel View Creator vous permet de préparer des données immédiatement après l'instanciation, plus tôt que le combinateur de vue, ce qui les rend idéaux pour configurer les données de vue nécessaires ou optimiser les performances.

Examinons un exemple pratique de la gestion des menus d'application dynamique:

Tout d'abord, enregistrez le créateur de la vue:

use Illuminate\Support\Facades\View;
// 注册视图创建器
View::creator('dashboard', DashboardCreator::class);
Copier après la connexion

Ensuite, définissez la classe Créateur View:

<?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)
        ]);
    }
}
Copier après la connexion

Enregistrer le créateur de la vue dans votre AppServiceProvider:

// 在你的 AppServiceProvider
public function boot()
{
    View::creator('layouts.app', ApplicationMenuCreator::class);
}
Copier après la connexion

Enfin, utilisez des données dans 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>
Copier après la connexion

View Creator fournit une préparation précoce de données pour vos vues, en vous garantissant que des données critiques sont disponibles immédiatement après l'instanciation de la vue. Cela permet d'améliorer les performances des applications et la maintenabilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal