Heim >Backend-Entwicklung >PHP-Tutorial >Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

不言
不言Original
2018-07-13 13:57:413313Durchsuche

Was ist Middleware? Hören Sie zu, wie Meister Mieke über Laravel-Middleware spricht (Bild)

In diesem Artikel wird hauptsächlich vorgestellt, was Middleware ist. Ich habe Miajueshi Taiqu über Laravel-Middleware (Bild) sprechen hören, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen teilen. Freunde in Not können sich darauf beziehen

Was ist Middleware? Wie der Name schon sagt, handelt es sich bei Middleware um die Middleware, die mittlere Schicht, die einige Anforderungen filtert, z. B. einige einfache Token-Überprüfungen. Im folgenden Artikel werden die Methoden und Techniken zum Definieren von Middleware und Registrieren von Middleware in Laravel ausführlich erläutert.

1. Middleware definieren

markiertes Laravel kann direkt im Befehl

php artisan make:middleware CheckToken

So ist es erstellt Es gibt eine Middleware-Klasse namens CheckToken. Diese Klasse befindet sich im Verzeichnis /app/Http/Middleware:

Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Nachdem Sie darauf geklickt haben, sieht der Code so aus:

Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Dann können Sie etwas hineinschreiben, zum Beispiel:

public function handle($request, Closure $next)
{
    if($request->input('token')!='minxintoken'){
        return redirect()->to('http://www.baidu.com');
    }
    return $next($request);
}

Die Bedeutung ist offensichtlich gleich minxintoken, dann springt es automatisch zu http://www.baidu.com

Natürlich haben wir bisher nur eine Middleware namens CheckToken erstellt, aber diese wurde jetzt nicht aktiviert ;

2. Registrieren Sie die Middleware

Die sogenannte Aktivierung besteht darin, diese Middleware auf der angegebenen Route zu registrieren

Es gibt zwei Arten der Registrierung: globale Middleware und spezifizierte Route Middleware,

1. Globale Middleware:

Solange die entsprechende Middleware zum Array-Attribut $middleware von app/Http/Kernel.php hinzugefügt wird, ist es in Ordnung: (CheckToken Die direkt im Originaltext geschriebene ::Klasse funktioniert nicht und meldet, dass AppHttpCheckToken nicht existiert. Sie müssen den Namespace von CheckToken.php hinzufügen, um das CheckToken korrekt zu erhalten.

Die richtige Antwort lautet: folgt:

Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Der Browser gibt direkt sample.test/about ein. Gehen Sie zu www.baidu.com, aber Sie können nicht so spielen:

Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

ok Die globale Registrierung endet hier. Im Allgemeinen werden globale Einstellungen nicht empfohlen oder unterstützt, da es wirklich ärgerlich ist, jedes Mal einen Token mitbringen zu müssen 🎜>2. Schauen wir uns dann die Middleware zum Festlegen des Routings an.

Diese Art von Middleware muss zuerst in app/Http/Kernel.php verwendet werden Fügen Sie ihn zu $routeMiddleware in der Datei hinzu. Fügen Sie einfach einen am Ende hinzu:

Gehen Sie nach dem Hinzufügen des Schlüssels zur Routing-Datei und aktivieren Sie Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Route::get('/','StaticPagesController@home')->middleware('token');

Der Zugriff auf den Browser hat zur Folge, dass Sie durch direkte Eingabe von „sample.test/“ zu Baidu weitergeleitet werden und durch Eingabe von „sample.test/? token=minxintoken“ die Startseite aufgerufen werden kann

Natürlich gibt es einen Nachteil, nämlich dass man auf eine Route tippen muss, um sie zu verwenden, was nicht normal ist. Es gibt also eine weitere Komplikation. Der Vorgang besteht darin, dass es ein Array gibt namens $middlewareGroups in der Datei Kernel.php: Wir fügen das CheckToken hinzu, das wir gerade im Web erstellt haben, Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

und dann benötigen alle /route/ Things in web.php token= minxintoken zum Zugriff; zum Beispiel: sample.test/sample.test/about sample.test/help usw.; Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website! Was ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild)

Empfohlene Kurse:

Das neueste praktische Video-Tutorial für Laravel Mall

Umfassende Interpretation des Laravel-Frameworks und praktisches Video-Tutorial

Laravel ganz einfach lernen – Grundlagen

Das obige ist der detaillierte Inhalt vonWas ist Middleware? Hören Sie, wie Miejieshi Taiqu über Laravel-Middleware spricht (Bild). 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