Heim > Artikel > PHP-Framework > Verwendung von Middleware zur Bearbeitung von Anfragen in ThinkPHP6
【Einführung】
ThinkPHP6 ist ein bekanntes PHP-Open-Source-Framework. Es übernimmt elegant die hervorragenden Funktionen der Vorgängerversion und integriert die neuen Funktionen von PHP7, wodurch es schneller und sicherer wird. In ThinkPHP6 ist Middleware ein sehr wichtiger Bestandteil, der es Entwicklern ermöglicht, vor, während und nach der Anforderung zu verarbeiten, um flexiblere und skalierbarere Anwendungen zu erreichen.
【Text】
1. Was ist Middleware?
Middleware bezieht sich auf Code, der ausgeführt werden kann, bevor und nachdem eine Anfrage Ihre Anwendung erreicht. Durch die Existenz von Middleware können Anwendungen einfach erweitert und verwaltet werden.
In ThinkPHP6 kann Middleware die folgenden Funktionen implementieren:
2. Verwendung von Middleware
Verwendung der Middleware von ThinkPHP6 ist sehr einfach, es muss lediglich die Middleware-Konfiguration in der Konfigurationsdatei durchgeführt werden, die in der angegebenen Reihenfolge ausgeführt werden kann.
2.1 Registrierung der Middleware
In der Datei config/middleware.php können Sie die folgende Standard-Middleware-Liste sehen:
<?php return [ // 别名或分组 'alias' => [], // 优先级设置,此数组中的中间件会按照优先级进行先后排序 'priority' => [], // 中间件列表 'middleware' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareAllowCrossDomain::class, ], ];
Unter diesen ist die erste Middleware die SessionInit-Middleware, deren Zweck darin besteht, die Sitzung zu initialisieren, und die zweite Bei der Middleware handelt es sich um die AllowCrossDomain-Middleware, die domänenübergreifende Anforderungen ermöglichen soll. Wenn Sie Ihre eigene Middleware konfigurieren müssen, können Sie Ihre eigene Middleware-Klasse definieren und diese zur obigen Konfiguration hinzufügen.
2.2 Sortieren der Middleware
Middleware in ThinkPHP6 kann nach Priorität sortiert werden. Je kleiner der Prioritätswert, desto höher die Ausführungsreihenfolge. In der Konfigurationsdatei der Middleware können Sie die Priorität der Middleware für die angegebene Gruppe oder den angegebenen Alias festlegen, wie unten gezeigt:
<?php return [ // 别名或分组 'alias' => [ 'home' => ppmiddlewareCheck::class, ], // 优先级设置,此数组中的中间件会按照优先级进行先后排序 'priority' => [ ppmiddlewareDemo::class => 1, ppmiddlewareTest::class => 2, ], // 中间件列表 'middleware' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareAllowCrossDomain::class, ], ];
In der obigen Konfiguration stellen Sie die Demo-Middleware auf Priorität 1 und die Test-Middleware auf die Priorität 2 ein .
2.3 Verwendung von Middleware
In ThinkPHP6 kann Middleware für globales Routing oder Gruppenrouting oder für bestimmte Controller oder Controller-Methoden verwendet werden.
(1) Globales Routing verwendet Middleware
In der Datei route/route.php im Anwendungsverzeichnis können Sie globales Routing wie folgt registrieren:
<?php use thinkacadeRoute; Route::get('hello/:name','index/hello')->middleware('Check');
Fügen Sie es im obigen Code über Middleware hinzu ('Check') A Es wird eine Middleware mit dem Namen Check erstellt, was bedeutet, dass die Check-Middleware ausgeführt wird, bevor die Methode index/hello ausgeführt wird.
(2) Gruppenrouting verwendet Middleware
In der Datei route/group.php im Anwendungsverzeichnis können Sie Gruppenrouting registrieren, wie unten gezeigt:
<?php use thinkacadeRoute; //定义分组路由 Route::group('/api', function () { Route::get('/user/:id', 'api/user/read')->middleware('Check'); });
Im obigen Code ist eine Gruppe mit dem Namen API definiert Routing, wobei die Route /user/:id eine Middleware namens Check verwendet.
(3) Verwenden von Middleware auf Controller-Ebene
In der Controller-Datei können Sie Middleware auf Methodenebene über speziell benannte Methoden definieren, wie unten gezeigt:
<?php namespace appcontroller; class Test { // 方法级别 public function read() { return "Hello Word!"; } // 方法级别 public function write() { return "Hello China!"; } // 控制器级别 protected $middleware = [ppmiddlewareCheck::class]; // 方法级别 protected $middleware = [ 'read' => [ppmiddlewareReadCheck::class], 'write' => [ppmiddlewareWriteCheck::class], ]; }
Im obigen Code verwenden die Lese- und Schreibmethoden die Methode -Level-Middleware ist eine Middleware auf Methodenebene, und die Check-Middleware ist eine Middleware auf Controller-Ebene.
【Zusammenfassung】
Middleware ist ein leistungsstarkes Tool, das eine sehr flexible Methode zur Anfrageverarbeitung bietet und es uns ermöglicht, Daten vor, während und nach der Anfrage zu verarbeiten. In ThinkPHP6 ist die Verwendung von Middleware sehr einfach. Sie müssen lediglich Middleware-Klassen nach bestimmten Regeln schreiben und diese konfigurieren.
Das obige ist der detaillierte Inhalt vonVerwendung von Middleware zur Bearbeitung von Anfragen in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!