Dalam laravel, peranan middleware adalah untuk menapis permintaan HTTP dan melaksanakan operasi logik yang berbeza mengikut permintaan yang berbeza boleh memintas dan memproses data permintaan dan memeriksa data, dan melakukan pemprosesan logik untuk menentukan sama ada Membenarkan kemasukan ke middleware seterusnya.
Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.
Middleware, seperti namanya, memintas dan memproses data permintaan, mengesahkan data dan melakukan pemprosesan logik untuk menentukan sama ada kemasukan dibenarkan antara permintaan dan respons .
Ringkasnya, peranan middleware dalam laravel adalah untuk menapis permintaan HTTP dan melaksanakan operasi logik yang berbeza berdasarkan permintaan yang berbeza.
Kita boleh mencapai fungsi berikut melalui perisian tengah:
Tentukan laluan tertentu
Tetapan HTTP pengepala respons
Rekod permintaan
Tapis parameter permintaan
Tentukan sama ada untuk mendayakan Mod penyelenggaraan tapak
Lakukan beberapa operasi yang diperlukan sebelum dan selepas respons
Perisian tengah tersuai
Baris arahan Laksanakan arahan mudah berikut untuk mencipta middleware baharu dengan mudah
php artisan make:middleware <MiddlewareName> //MiddlewareName 就是你要创建的中间件的名字
Laksanakan arahan di atas, Laravel akan secara automatik mencipta middleware yang mengandungi hanya kaedah pemegang dalam direktori app/Http/Middleware.
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { return $next($request); } }
Apabila middleware dipanggil, kaedah pemegang akan dilaksanakan. Apa yang perlu diperhatikan di sini ialah kaedah pemegang mempunyai dua parameter secara lalai $request dan $next. $request digunakan untuk menerima kumpulan permintaan aplikasi, dan $next menghantar permintaan kepada aplikasi. Kedua-dua parameter ini penting untuk mengendalikan! Middleware juga termasuk pra-pertengahan dan pasca-pertengahan.
"Premiddleware" seperti namanya mengendalikan beberapa logik sebelum memajukan permintaan kepada aplikasi. Selepas middleware, sebaliknya, berjalan selepas aplikasi telah memproses permintaan dan menghasilkan respons.
Perisian tengah hadapan:
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //你的逻辑就在这里 return $next($request); } }
Perisian tengah pos:
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); //你的逻辑就在这里 例如 重定向到 `/` return $response; } }
[Cadangan berkaitan: tutorial video laravel】
Atas ialah kandungan terperinci Apakah kegunaan middleware laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!