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

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

青灯夜游
青灯夜游Original
2021-09-17 14:44:114530Durchsuche

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,
];

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' => [
        ...
    ],
];

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 所对应的中间件,方便多了,批量式的。
});

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!

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
Vorheriger Artikel:Warum verwendet Laravel env?Nächster Artikel:Warum verwendet Laravel env?