Maison > développement back-end > tutoriel php > Mises à jour de la page dynamique avec les fragments de lame Laravel

Mises à jour de la page dynamique avec les fragments de lame Laravel

百草
Libérer: 2025-03-05 16:11:20
original
275 Les gens l'ont consulté

Dynamic Page Updates with Laravel Blade Fragments

Les fragments de lame Laravel offrent une approche rationalisée aux mises à jour de page partielle, parfaitement adaptées à des cadres comme HTMX ou Turbo. Cette solution côté serveur améliore l'interactivité sans sacrifier la facilité d'utilisation de Laravel.

Utilisation des fragments de lame

Voici un exemple de base de définir et d'utiliser un fragment:

<!-- 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');
Copier après la connexion

Application du monde réel: Système de notification en direct

illustrons avec un système de notification en direct:

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

Structure de modèle correspondante:

<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>
Copier après la connexion

Cela montre comment les fragments de lame fournissent une méthode propre et efficace pour mettre à jour les parties d'une page, s'alignant parfaitement avec les meilleures pratiques de développement Web modernes. L'intégration avec les techniques d'amélioration progressive en fait un outil puissant dans l'écosystème de Laravel.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal