Rumah > Artikel > rangka kerja php > Apakah middleware yang biasa digunakan dalam laravel?
Perisian tengah yang biasa digunakan dalam laravel ialah: 1. Perisian tengah global "$middleware" Apabila anda perlu melakukan beberapa pemprosesan pada semua permintaan, ia sesuai untuk ditakrifkan dalam komponen ini 2. penghalaan "$routeMiddleware". Middleware; 3. kumpulan middleware "$middlewareGroups".
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 6, komputer Dell G3.
Tiga middleware yang biasa digunakan dalam laravel
Atribut $middleware:
Atribut ini dipanggil Ia adalah perisian tengah global Mengapa ia dipanggil perisian pertengahan global? Kerana setiap kali anda meminta, setiap perisian tengah di dalamnya akan dilaksanakan.
Atribut $routeMiddleware:
Atribut ini dipanggil routing middleware Mengapa ia dipanggil routing middleware? Kerana perisian tengah yang ditakrifkan dalam atribut ini hanya boleh dirujuk apabila menentukan laluan.
Andaikan ini ialah perisian tengah penghalaan yang kami takrifkan:
protected $routeMiddleware = [ ... 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, ];
Bagaimana jika kami mahu menggunakan perisian tengah IlluminateAuthMiddlewareAuthenticate::class?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
Apabila kami menentukan laluan, kami memanggil kaedah middleware dan parameter value is auth, seperti ini Apabila laluan ini diakses, middleware akan dilaksanakan. faham! Sangat mudah.
Atribut $middlewareGroups:
Atribut ini dipanggil kumpulan perisian tengah Mengapa ia dipanggil kumpulan perisian tengah? Kami bercakap tentang penghalaan middleware sebelum ini Adakah anda fikir ia menyusahkan untuk menambah penghalaan middleware dengan cara ini, sebagai contoh, jika kita melaksanakan 10 middleware, adakah kita perlu menambah 10 semasa menentukan laluan? Dengan kumpulan middleware, tidak perlu terlalu menyusahkan. Mari kita lihat bagaimana kumpulan middleware ditakrifkan.
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, ... ], 'api' => [ ... ], ];
Baiklah, contoh di atas adalah untuk mentakrifkan format kumpulan perisian tengah Sebagai contoh, jika kita melihat web nilai utama, ia sepadan dengan tatasusunan, yang terdiri daripada beberapa perisian tengah. Setelah kita mentakrifkannya, bagaimana kita harus menggunakannya?
Apabila kita mengisytiharkan laluan, kita boleh memanggilnya seperti ini.
Route::group(['middleware' => 'web'],function($route){ $route->get('hello/world',function(){}); $route->get('hello/php',function(){}); // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。 });
Ringkasan:
$middleware: Global middleware, apabila anda perlu melakukan beberapa pemprosesan pada semua permintaan, ia sesuai untuk ditakrifkan dalam atribut ini. (Contohnya, mengira bilangan permintaan)
$middlewareGroups: Middleware groups Sebagai contoh, apabila projek kami mempunyai permintaan api dan permintaan web, kami perlu memisahkan dua jenis middleware permintaan Pada masa ini, kami memerlukan middleware Komponen dipasang.
$routeMiddleware: penghalaan middleware Apabila kita perlu melaksanakan middleware khas untuk beberapa permintaan individu, adalah sesuai untuk mentakrifkannya dalam atribut ini.
Petikan: https://laravel-china.org/topics/7392/laravel-three-middleware-functions
Cadangan berkaitan: Lima video Laravel Tutorial terkini
Atas ialah kandungan terperinci Apakah middleware yang biasa digunakan dalam laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!