Maison >cadre php >Laravel >Comment implémenter le saut middleware dans Laravel 5.4

Comment implémenter le saut middleware dans Laravel 5.4

PHPz
PHPzoriginal
2023-04-23 09:16:21688parcourir

Avant Laravel 5.4, nous pouvions utiliser un middleware pour implémenter la fonction de saut. Cependant, le middleware Laravel 5.4 est implémenté différemment. Dans cet article, nous verrons comment implémenter les sauts middleware dans Laravel 5.4.

1. Implémenter le saut middleware dans Laravel 5.4

Dans Laravel 5.4, nous pouvons utiliser la fonction redirect() et la fonction with() pour implémenter le saut middleware. Regardons un exemple :

  1. Créez un middleware de journalisation

Dans le répertoire app/Http/Middleware, créez un fichier LogMiddleware.php avec le contenu suivant :

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

Le code ci-dessus crée un middleware de journalisation nommé LogMiddleware. enregistre un journal dans la fonction handle.

  1. Créer un middleware d'autorisation

Dans le répertoire app/Http/Middleware, créez un fichier AuthMiddleware.php avec le contenu suivant :

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

Le code ci-dessus crée un middleware nommé AuthMiddleware, dans la fonction handle Déterminez si l'utilisateur est connecté. Sinon, accédez à la page de connexion et enregistrez le message d'erreur dans la session.

  1. Enregistrez le middleware dans la route

Dans le fichier routes/web.php, enregistrez la route et le middleware, le code est le suivant :

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

Le code ci-dessus crée une route nommée tableau de bord, dans la route du tableau de bord, en utilisant les middlewares LogMiddleware et AuthMiddleware.

  1. Implémenter le saut middleware

Lorsque vous accédez directement à la page http://votredomaine/dashboard, elle passera automatiquement à http://votredomaine/login et enregistrera le message d'erreur dans la session.

2. Résumé

Dans Laravel 5.4, nous pouvons utiliser la fonction redirect() et la fonction with() pour implémenter des sauts middleware. Grâce aux étapes ci-dessus, nous avons implémenté avec succès une fonction de saut middleware. J'espère que cet article pourra vous être utile !

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:
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