ホームページ > バックエンド開発 > PHPチュートリアル > Laravel Blade Fragmentsを使用した動的ページの更新

Laravel Blade Fragmentsを使用した動的ページの更新

百草
リリース: 2025-03-05 16:11:20
オリジナル
275 人が閲覧しました

Dynamic Page Updates with Laravel Blade Fragments

Laravel Bladeフラグメントは、HTMXやTurboなどのフレームワークに完全に適した部分ページの更新に対する合理化されたアプローチを提供します。 このサーバー側のソリューションは、Laravelの使いやすさを犠牲にすることなく、双方向性を向上させます。 ブレードフラグメントを使用して

ここにフラグメントを定義して使用する基本的な例があります:

<!-- Blade template -->
@fragment('notification-list')
    <div class="notifications">
        @foreach($notifications as $notification)
            <div class="alert">
                {{ $notification->message }}
            </div>
        @endforeach
    </div>
@endfragment

<!-- Controller -->
return view('dashboard')->fragment('notification-list');
ログイン後にコピー

現実世界アプリケーション:ライブ通知システム

ライブ通知システムで説明しましょう:

<?php

namespace App\Http\Controllers;

use App\Models\Notification;
use Illuminate\Http\Request;

class NotificationController extends Controller
{
    public function store(Request $request)
    {
        $notification = Notification::create([
            'user_id' => auth()->id(),
            'message' => $request->message,
            'type' => $request->type
        ]);

        if ($request->hasHeader('HX-Request')) {
            return view('notifications.index', [
                'notifications' => auth()->user()->notifications()->latest()->get()
            ])->fragmentIf(
                $request->hasHeader('HX-Request'),
                'notification-list'
            );
        }

        return back();
    }

    public function clear(Request $request)
    {
        auth()->user()->notifications()->delete();

        return view('notifications.index', [
            'notifications' => collect()
        ])->fragment('notification-list');
    }
}
ログイン後にコピー
対応するテンプレート構造:

これは、ブレードフラグメントがページの一部を更新するためのクリーンで効率的な方法を提供する方法を示しており、最新のWeb開発のベストプラクティスと完全に一致しています。 プログレッシブエンハンスメントテクニックとの統合により、Laravelエコシステムの強力なツールになります。

以上がLaravel Blade Fragmentsを使用した動的ページの更新の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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