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 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:
Nachdem Sie darauf geklickt haben, sieht der Code so aus:
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:
Der Browser gibt direkt sample.test/about ein. Gehen Sie zu www.baidu.com, aber Sie können nicht so spielen:
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
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,
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!
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!