Rumah >rangka kerja php >Laravel >Bagaimana untuk melaksanakan lompatan middleware dalam Laravel 5.4

Bagaimana untuk melaksanakan lompatan middleware dalam Laravel 5.4

PHPz
PHPzasal
2023-04-23 09:16:21686semak imbas

Sebelum Laravel 5.4, kami boleh menggunakan perisian tengah untuk melaksanakan fungsi lompat. Walau bagaimanapun, perisian tengah Laravel 5.4 dilaksanakan secara berbeza. Dalam artikel ini, kita akan membincangkan cara melaksanakan lompatan middleware dalam Laravel 5.4.

1. Laksanakan lompatan middleware dalam Laravel 5.4

Dalam Laravel 5.4, kita boleh menggunakan fungsi redirect() dan dengan() untuk melaksanakan lompatan middleware. Mari kita lihat contoh:

  1. Buat middleware log

Dalam direktori app/Http/Middleware, buat fail LogMiddleware.php dengan kandungan berikut:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Log;

class LogMiddleware
{
    public function handle($request, Closure $next)
    {
        Log::info(&#39;LogMiddleware&#39;);
        return $next($request);
    }
}

Kod di atas mencipta perisian tengah bernama LogMiddleware dan merekodkan log dalam fungsi pemegang.

  1. Buat perisian tengah keizinan

Dalam direktori app/Http/Middleware, buat fail AuthMiddleware.php dengan kandungan berikut:

<?php

namespace App\Http\Middleware;

use Closure;

class AuthMiddleware
{
    public function handle($request, Closure $next)
    {
        if (!auth()->check()) {
            return redirect('/login')->with('error', '请先登录!');
        }

        return $next($request);
    }
}

Kod di atas mencipta perisian tengah bernama AuthMiddleware, yang menentukan sama ada pengguna log masuk dalam fungsi pemegang Jika tidak, lompat ke halaman log masuk dan simpan maklumat ralat ke sesi.

  1. Daftarkan middleware ke dalam laluan

Dalam fail route/web.php, daftarkan laluan dan middleware, kodnya adalah seperti berikut:

Route::get('/dashboard', function () {
    return view('dashboard');
})->middleware([LogMiddleware::class, AuthMiddleware::class]);

Kod di atas mencipta laluan bernama papan pemuka Dalam laluan papan pemuka, perisian tengah LogMiddleware dan AuthMiddleware digunakan.

  1. Laksanakan lompatan middleware

Apabila anda mengakses terus halaman http://yourdomain/dashboard, ia secara automatik akan melompat ke http://yourdomain/login, dan Di sana ialah maklumat ralat disimpan dalam sesi.

2. Ringkasan

Dalam Laravel 5.4, kita boleh menggunakan fungsi redirect() dan dengan() untuk melaksanakan lompatan middleware. Melalui langkah di atas, kami berjaya melaksanakan fungsi lompat perisian tengah. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan lompatan middleware dalam Laravel 5.4. 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