Heim > PHP-Framework > Laravel > Was ist die am häufigsten verwendete Middleware in Laravel?

Was ist die am häufigsten verwendete Middleware in Laravel?

青灯夜游
Freigeben: 2023-01-13 00:40:24
Original
4589 Leute haben es durchsucht

Häufig verwendete Middleware in Laravel ist: 1. „$middleware“ globale Middleware, wenn alle Anforderungen verarbeitet werden müssen, 2. „$routeMiddleware“ Routing-Middleware; "Middleware-Gruppe.

Was ist die am häufigsten verwendete Middleware in Laravel?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Laravel 6-Version, Dell G3-Computer.

Drei in Laravel häufig verwendete Middleware

$Middleware-Attribut:

Dieses Attribut wird als globale Middleware bezeichnet. Denn jedes Mal, wenn Sie eine Anfrage stellen, wird jede darin enthaltene Middleware ausgeführt.

$routeMiddleware-Attribut:

Dieses Attribut wird Routing-Middleware genannt. Warum heißt es Routing-Middleware? Denn auf die in diesem Attribut definierte Middleware kann nur beim Definieren von Routen verwiesen werden.
Angenommen, dies ist die Routing-Middleware, die wir definiert haben:

protected $routeMiddleware = [
    ...
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
];
Nach dem Login kopieren

Was wäre, wenn wir die IlluminateAuthMiddlewareAuthenticate::class-Middleware verwenden möchten?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
Wir haben die Middleware-Methode aufgerufen, als wir die Route definiert haben, und der Parameterwert ist auth So greifen Sie auf diese Route zu: Die Middleware wird ausgeführt. Habe es! Ganz einfach.

$middlewareGroups-Attribut:

Dieses Attribut wird Middleware-Gruppe genannt. Warum wird es Middleware-Gruppe genannt? Wir haben bereits über Routing-Middleware gesprochen. Denken Sie, dass es schwierig ist, Routing-Middleware auf diese Weise hinzuzufügen? Wenn wir beispielsweise 10 Middlewares ausführen, müssen wir dann 10 hinzufügen, wenn wir die Route definieren? Mit der Middleware-Gruppe besteht kein Grund zur Umständlichkeit. Werfen wir einen Blick darauf, wie die Middleware-Gruppe definiert ist.

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        ...
    ],
    'api' => [
        ...
    ],
];
Nach dem Login kopieren

Okay, das obige Beispiel dient dazu, das Format der Middleware-Gruppe zu definieren. Wenn wir uns beispielsweise das Schlüsselwert-Web ansehen, entspricht es einem Array, das aus mehreren Middlewares besteht. Wenn wir es definiert haben, wie sollen wir es verwenden?
Wenn wir die Route deklarieren, können wir sie so nennen.

Route::group(['middleware' => 'web'],function($route){
    $route->get('hello/world',function(){});
    $route->get('hello/php',function(){});
    // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。
});
Nach dem Login kopieren

Zusammenfassung:

$Middleware: Globale Middleware. Wenn Sie alle Anforderungen verarbeiten müssen, ist es geeignet, sie in diesem Attribut zu definieren. (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 La.

$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.

Zitat: https://laravel-china.org/topics/7392/laravel- three-middleware-functions

Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials

Das obige ist der detaillierte Inhalt vonWas ist die am häufigsten verwendete Middleware in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage