Heim >Backend-Entwicklung >PHP-Tutorial >Dynamische Seitenaktualisierungen mit Laravel Blade -Fragmenten

Dynamische Seitenaktualisierungen mit Laravel Blade -Fragmenten

百草
百草Original
2025-03-05 16:11:20276Durchsuche

Dynamic Page Updates with Laravel Blade Fragments

Laravel Blade -Fragmente bieten einen optimierten Ansatz für Teilseiten -Updates, das perfekt für Frameworks wie HTMX oder Turbo geeignet ist. Diese serverseitige Lösung verbessert die Interaktivität, ohne die Benutzerfreundlichkeit von Laravel zu beeinträchtigen.

Verwendung von Blattfragmenten

Hier ist ein grundlegendes Beispiel für die Definition und Verwendung eines Fragments:

<!-- 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');

reale Anwendung: Live-Benachrichtigungssystem

veranschaulichen wir mit einem Live -Benachrichtigungssystem:

<?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');
    }
}

entsprechende Vorlagenstruktur:

<div class="container">
    @fragment('notification-list')
        <div class="notification-wrapper">
            @forelse($notifications as $notification)
                <div class="alert alert-{{ $notification->type }}">
                    {{ $notification->message }}
                    {{ $notification->created_at->diffForHumans() }}
                </div>
            @empty
                <p>No notifications</p>
            @endforelse
        </div>
    @endfragment
</div>

Dies zeigt, wie Blattfragmente eine saubere und effiziente Methode zum Aktualisieren einer Seite bieten und perfekt mit den besten Practices der modernen Webentwicklung übereinstimmen. Die Integration mit progressiven Verbesserungstechniken macht es zu einem leistungsstarken Werkzeug im Laravel -Ökosystem.

Das obige ist der detaillierte Inhalt vonDynamische Seitenaktualisierungen mit Laravel Blade -Fragmenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn