Laravel framework တွင် Middleware သည် HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်စဉ်၏အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်ပြီးစစ်မှန်ကြောင်းအတည်ပြုခြင်း, ခွင့်ပြုချက်စစ်ဆေးခြင်း, သစ်ထုတ်လုပ်ခြင်း, ၎င်းသည်ကြားဖြတ်ခြင်းနှင့်လုပ်ငန်းစဉ်တောင်းဆိုမှုများကိုကြားဖြတ်ရန်ပြောင်းလွယ်ပြင်လွယ်။ ကြော့ရှင်းသောနည်းလမ်းကိုထောက်ပံ့ပေးသည်။
Laravel ၏ middleware သည် app / http / middleware directory တွင်တည်ရှိပြီး artisan command သို့မဟုတ်လက်ဖြင့်ဖန်တီးနိုင်သည်။ Milnameseware သည်မရှိမဖြစ်လိုအပ်သောစာသင်ခန်းတစ်ခုဖြစ်ပြီးတုံ့ပြန်မှုများကိုပြန်ပို့ခြင်းနှင့်တုံ့ပြန်မှုများကိုပြန်ပို့သည်။ Core function သည်တောင်းဆိုချက်အ ရာ ဝတ်ထုနှင့်ပိတ်သိမ်းခြင်းကိုလက်ခံသည်။ ယုတ္တိဗေဒကိုပြုပြင်ပြီးနောက်တောင်းဆိုမှုကိုအတည်ပြုရန်သို့မဟုတ်တုန့်ပြန်မှုသို့တိုက်ရိုက်ပြန်ပို့လိမ့်မည်။
HTTP တောင်းဆိုမှုသည်လျှောက်လွှာကိုရောက်သောအခါစနစ်သည်အချင်းချင်းစနစ်တစ်ခုစီကို sequence ည့်သည်တစ် ဦး စီကိုစာနယ်ဇင်းမှတ်ပုံတင်ရန်အမိန့်အတိုင်း sequence ကိုဆက်တင်လိမ့်မည်။ အကယ်. Middleware သည်တုန့်ပြန်မှုတစ်ခုကိုပြန်ပို့ပါကနောက်ဆက်တွဲအပြောင်းအလဲတင်ခြင်းလုပ်ငန်းစဉ်ကိုဖျက်သိမ်းပြီးရလဒ်ကို client ကိုတိုက်ရိုက်ပြန်ပေးလိမ့်မည်။
Middateware မှတ်ပုံတင်ခြင်းကိုနည်းလမ်းနှစ်မျိုးခွဲခြားထားသည်။ ကမ္ဘာလုံးဆိုင်ရာမှတ်ပုံတင်ခြင်းနှင့် routing ည့်သည်မှတ်ပုံတင်ခြင်း။ Global Middleware သည်တောင်းဆိုချက်အားလုံးကိုရယူရန်နှင့် app / http / kernel.php ဖိုင်ရှိ $ Middleware property တွင်သတ်မှတ်ထားသည်။
protected $middleware = [
\App\Http\Middleware\CheckToken::class,
];
အကယ်. သင်သည် Middleware ကိုသတ်သတ်မှတ်မှတ်လမ်းကြောင်းတစ်ခုဖြင့်လုပ်ဆောင်ရန်သာလျှင်သင်က ဒေါ်လာ roxhewware sware ကိုမှတ်ပုံတင်ရန်အသုံးပြုနိုင်သည်။
protected $routeMiddleware = [
'checkRole' => \App\Http\Middleware\CheckRole::class,
];
ထို့နောက်လမ်းကြောင်းရှိ Middleware နည်းလမ်းကိုကြည့်ပါ။
Route::get('/admin', function () {
// backend စာမျက်နှာ
})->middleware('checkRole');
ကွပ်မျက်ခံရသောအမိန့်သည်၎င်း၏မှတ်ပုံတင်ရန်အမိန့်ပေါ်တွင်မူတည်သည်။ Global Middleware သည် array များအရ array များအရလုပ်ဆောင်သည်။ သင်သည် command php artisan လမ်းကြောင်းကိုသုံးနိုင်သည်။ စာရင်းကိုကြည့်ရှုရန်စာရင်းကို သုံးနိုင်သည်။
လမ်းကြောင်းများစွာကိုတူညီသောသတင်းယူစုဆောင်းမှုကိုဝေမျှသောအခါစီမံခန့်ခွဲမှုကိုအုပ်စုဖွဲ့ခြင်းဖြင့်ရိုးရှင်းနိုင်သည်။ ဥပမာအားဖြင့်:
Route::group(['middleware' => 'admin'], function () {
// အားလုံးနောက်ခံလမ်းကြောင်းများ
});
ဤအချိန်တွင်အုပ်စုအတွင်းရှိလမ်းကြောင်းများအားလုံးသည် admin Middleware ကိုအလိုအလျောက်ဖွင့်လိမ့်မည်။
အောက်ဖော်ပြပါအချက်သည် middleware ၏တိကျသောအသုံးချမှုကိုပြသရန် authentication ဥပမာတစ်ခုဖြစ်သည်။
1 ။ Middleware ကိုဖန်တီးပါ။
php artisan make:middleware Authenticate
2 ။ MISTERNAME LOGION:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class Authenticate
{
public function handle(Request $request, Closure $next)
{
$token = $request->header('Authorization');
if ($token != 'secret_token') {
return response()->json(['error' => 'Unauthorized'], 401);
}
return $next($request);
}
}
3 ။ MODEMALWARE ကိုမှတ်ပုံတင်ပါ။
protected $middleware = [
\App\Http\Middleware\Authenticate::class,
];
4 ။ routing လုပ်ရန်လျှောက်ထားသည်။
Route::get('/api', function () {
// အကာအကွယ်ပေးထားသော interface
})->middleware('auth');
ဤသည် middleware သည်တောင်းဆိုချက် header ရှိ ခွင့်ပြုချက် နေရာကိုစစ်ဆေးလိမ့်မည်။ Preset Token မကိုက်ညီပါက 401 အမှားကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။ ဒီလိုမှမဟုတ်ရင်တောင်းဆိုမှုကိုဆက်လက်လုပ်ဆောင်နေလိမ့်မည်။
Lariave MoneyWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTWARTATE သည် develpers များကိုအားကြားဖြတ်ရန်နှင့် http တောင်းဆိုမှုများကိုကြားဖြတ်ရန်နှင့်ပြောင်းလွယ်ပြင်လွယ်ရှိသောနည်းလမ်းများဖြင့်ပေးသည်။ အိမ်တွင်းပြင်ဆင်ခြင်းအားဖြင့် Controller ယုတ္တိဗေဒကိုရိုးရှင်းအောင်လုပ်နိုင်သည်, စနစ်လုံခြုံရေးနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။ Moneyware ၏အခြေခံမူများနှင့်လျှောက်လွှာကျွမ်းကျင်မှုများကျွမ်းကျင်မှုသည်ပိုမိုခိုင်မာသည့် 0 က်ဘ်အပလီကေးရှင်းများကိုပိုမိုတည်ဆောက်ရန်ကူညီလိမ့်မည်။