Rumah >pembangunan bahagian belakang >tutorial php >Kemas kini halaman dinamik dengan serpihan bilah laravel

Kemas kini halaman dinamik dengan serpihan bilah laravel

百草
百草asal
2025-03-05 16:11:20276semak imbas

Dynamic Page Updates with Laravel Blade Fragments

Serpihan pisau Laravel menawarkan pendekatan yang diperkemas untuk kemas kini halaman separa, sangat sesuai untuk rangka kerja seperti HTMX atau Turbo. Penyelesaian sisi pelayan ini meningkatkan interaktiviti tanpa mengorbankan kemudahan penggunaan Laravel.

Menggunakan serpihan bilah

Berikut adalah contoh asas untuk menentukan dan menggunakan serpihan:

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

Aplikasi dunia nyata: Sistem Pemberitahuan Langsung

mari kita ilustrasikan dengan sistem pemberitahuan langsung:

<?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');
    }
}
Struktur templat yang sepadan:

<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>
Ini menunjukkan bagaimana serpihan bilah menyediakan kaedah yang bersih dan cekap untuk mengemas kini bahagian halaman, menjajarkan dengan sempurna dengan amalan terbaik pembangunan web moden. Integrasi dengan teknik peningkatan progresif menjadikannya alat yang berkuasa dalam ekosistem Laravel.

Atas ialah kandungan terperinci Kemas kini halaman dinamik dengan serpihan bilah laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn