Laravel ialah rangka kerja pembangunan web yang sangat popular dalam medan PHP. Dalam Laravel, middleware memainkan peranan yang sangat penting. Jadi bagaimanakah middleware Laravel dilaksanakan? Artikel ini akan memperkenalkan perkara ini secara terperinci.
Sebelum kita mula memperkenalkan butiran pelaksanaan middleware Laravel, kita perlu menjelaskan apa itu middleware. Dalam pembangunan web, middleware merujuk kepada komponen yang terletak di antara klien dan pelayan. Middleware mengawal input klien dan output pelayan, dan boleh mempraproses dan membalas permintaan.
Dalam Laravel, fungsi yang boleh dicapai oleh middleware adalah sangat kaya. Contohnya, sahkan sama ada pengguna telah log masuk, tetapkan pengepala respons, permintaan penapis, dsb. Menggunakan perisian tengah dalam Laravel membantu memisahkan permintaan dan logik pemprosesan tindak balas, menjadikannya lebih mudah untuk mengekalkan kod.
Dalam rangka kerja Laravel, pelaksanaan middleware adalah sangat mudah Anda hanya perlu mewarisi kelas IlluminateHttpMiddlewareMiddleware. Berikut ialah contoh mengesahkan sama ada pengguna telah log masuk:
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class AuthMiddleware { public function handle($request, Closure $next) { if (!Auth::check()) { return redirect('/login'); } return $next($request); } }
Di atas ialah pelaksanaan asas perisian tengah, yang melaksanakan kaedah pengendalian untuk pramemproses dan memproses permintaan dan respons.
Dalam perisian tengah Laravel, kaedah pemegang diperlukan untuk mengendalikan permintaan dan respons. Kaedah pemegang mempunyai dua parameter Parameter pertama ialah $request, yang mewakili contoh permintaan, parameter kedua ialah $next, yang mewakili fungsi penutupan yang meneruskan pelaksanaan permintaan seterusnya.
Jika kami perlu melakukan pemprosesan respons dalam perisian tengah, kami boleh melakukannya dengan mengembalikan tika Respons. Contohnya:
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Response; class SetHeadersMiddleware { public function handle($request, Closure $next) { $response = $next($request); $response->headers->set('X-Powered-By', 'Laravel'); return $response; } }
Di atas ialah contoh menukar pengepala respons.
Dalam Laravel, kita boleh menggunakan perisian tengah dengan mudah. Tambahkan kelas middleware yang kami tulis pada atribut $routeMiddleware, dan kemudian gunakannya dalam konfigurasi penghalaan. Contohnya:
protected $routeMiddleware = [ ... 'auth' => \App\Http\Middleware\AuthMiddleware::class, ... ];
Route::get('/dashboard', function () { return view('dashboard'); })->middleware('auth');
Kod di atas menyatakan bahawa apabila pengguna mengakses laluan /papan pemuka, ia perlu mengesahkan sama ada pengguna telah log masuk dan jika tidak log masuk, ubah hala ke halaman log masuk.
Artikel ini memperkenalkan secara ringkas pelaksanaan dan penggunaan perisian tengah Laravel. Middleware boleh membantu kami memisahkan logik pemprosesan permintaan dan tindak balas serta meningkatkan kebolehselenggaraan kod. Dalam proses pembangunan sebenar, menggunakan perisian tengah Laravel boleh membantu kami meningkatkan kebolehgunaan semula dan kebolehskalaan kod, dan merupakan cara yang sangat disyorkan.
Atas ialah kandungan terperinci Penjelasan terperinci tentang pelaksanaan perisian tengah Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!