ホームページ > バックエンド開発 > PHPチュートリアル > Laravel View Creatorsを使用したアーリービューデータ準備

Laravel View Creatorsを使用したアーリービューデータ準備

Emily Anne Brown
リリース: 2025-03-06 02:43:09
オリジナル
177 人が閲覧しました

Early View Data Preparation with Laravel View Creators

Laravel View Creatorを使用すると、ビューコンビネーターよりも早く表示されるインスタンス化の直後にデータを準備できます。これにより、必要なビューデータのセットアップやパフォーマンスの最適化に最適です。

動的アプリケーションの管理メニューの管理の実用的な例を見てみましょう:

最初に、ビュークリエーターを登録してください:

use Illuminate\Support\Facades\View;
// 注册视图创建器
View::creator('dashboard', DashboardCreator::class);
ログイン後にコピー

次に、ビュークリエータークラスを定義します:

<?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)
        ]);
    }
}
ログイン後にコピー

AppServiceProvider

で作成者を登録します
// 在你的 AppServiceProvider
public function boot()
{
    View::creator('layouts.app', ApplicationMenuCreator::class);
}
ログイン後にコピー

最後に、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>
ログイン後にコピー

ビュークリエーターは、ビューの初期データの準備を提供し、ビューインスタンス化の直後に重要なデータが利用可能になるようにします。 これにより、アプリケーションのパフォーマンスとコードメンテナビリティが向上するのに役立ちます。

以上がLaravel View Creatorsを使用したアーリービューデータ準備の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート