Heim > Artikel > PHP-Framework > Die Funktionen von drei Middlewares in Laravel
Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die Funktionen der drei Middlewares in Laravel vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
Früher dachte ich einfach, dass Middleware nur Middleware zur Middleware hinzufügt. Jetzt weiß ich, dass es drei Arten von Middleware gibt, nämlich: $middleware $middlewareGroup $routeMiddleware Nachdem ich die Informationen konsultiert hatte, verstand ich endlich die Funktionen und Unterschiede dieser drei Typen.
Der erste Typ, globale Middleware/$middleware:
Jede darin enthaltene Middleware wird für jede von uns gestellte Anfrage ausgeführt.
Der zweite Typ, Routing-Middleware/$routeMiddleware:
Die in diesem Attribut definierte Middleware kann nur beim Definieren einer Route referenziert werden.
Angenommen, dies ist die Routing-Middleware, die wir definiert haben:
protected $routeMiddleware = [ ... 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, ];
Wenn wir IlluminateAuthMiddlewareAuthenticate::class verwenden möchten, sollte diese Middleware wie folgt geschrieben werden:
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
Rufen Sie die Middleware-Methode auf, wenn Sie die Route definieren, und der Parameterwert ist Auth. Zugriff wie folgt: Beim Routing wird die Middleware ausgeführt.
Der dritte Typ, Middleware Groups/$middlewareGroups:
Wenn wir uns die Routing-Middleware oben ansehen, können wir das Gefühl haben, dass das Hinzufügen von Routing-Middleware wie dieser sehr mühsam ist. Sie müssen 100 hinzufügen, wenn Sie die Route definieren. Aber mit der Middleware-Gruppe müssen Sie sich nicht so viele Mühe machen! Werfen wir einen Blick darauf, wie die Middleware-Gruppe definiert ist.
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, ... ], 'api' => [ ... ], ];
Das obige Beispiel dient dazu, das Format der Middleware-Gruppe zu definieren. Beispielsweise entspricht das Schlüsselwert-Web einem Array, das aus mehreren Middlewares besteht.
Wenn Sie eine Route deklarieren müssen, rufen Sie sie einfach wie folgt auf.
Route::group(['middleware' => 'web'],function($route){ $route->get('hello/world',function(){}); $route->get('hello/php',function(){}); // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件! });
** Zusammenfassung:
$middleware/globale Middleware: Wenn Sie alle Anforderungen verarbeiten müssen, ist die Definition in diesem Attribut geeignet. (Zum Beispiel die Anzahl der Anfragen zählen)
$middlewareGroups/Middleware-Gruppen: Wenn unser Projekt beispielsweise API-Anfragen und Web-Anfragen hat, müssen wir die beiden Arten von Anfrage-Middleware trennen. Zu diesem Zeitpunkt benötigen wir unsere Middleware Gruppieren Sie sich.
$routeMiddleware/Routing-Middleware. Wenn wir für einige einzelne Anforderungen spezielle Middleware ausführen müssen, ist es sinnvoll, diese in diesem Attribut zu definieren. **
Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials
Das obige ist der detaillierte Inhalt vonDie Funktionen von drei Middlewares in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!