0 က်ဘ်အပလီကေးရှင်းများဖွင့်သောအခါဒေတာဘေ့စ်မေးမြန်းချက်များနှင့်စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာခြင်းသည်အလွန်အရေးကြီးသည်။ Laravel သည် developer များကတောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများအကြားဤလိုအပ်ချက်များကိုကိုင်တွယ်နိုင်စေရန်အတွက်အင်အားကြီးသောသတင်းယန္တရားကိုထောက်ပံ့ပေးသည်။ တောင်းဆိုမှုသည် Controller ကိုမရောက်ရှိမီသို့မဟုတ်တုန့်ပြန်မှုသည်အသုံးပြုသူထံသို့ပြန်ရောက်ပြီးနောက် MINDWARTWARTWARTWARE သည်ယုတ္တိဗေဒအတိုင်းလုပ်ဆောင်နိုင်သည်။ ဤဆောင်းပါးသည် laravel middleware မှတဆင့်ဒေတာဘေ့စ်စုံစမ်းမှုသစ်လုပ်ငန်းနှင့်စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာရေးလုပ်ငန်းများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Middleware ကိုဖန်တီးရန်လိုအပ်သည်။ အောက်ပါ command ကိုဖွင့်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် unnamerlogsware ဟုခေါ်သောအလယ်ပိုင်းကိုဖန်တီးနိုင်သည်။
php artisan make:middleware QueryLogMiddleware
ဤ command သည် `app / http / middleward ည့်သည်အတွက်` querylogmnelware.php's file ကိုထုတ်ပေးလိမ့်မည်။ ယခုဖိုင်တွင် Middleward Logic ကိုကျွန်ုပ်တို့ရေးနိုင်သည်။
ဒေတာဘေ့စ်စုံစမ်းရေးမှတ်တမ်းကိုမှတ်တမ်းတင်ရန် SQL Query များအားလုံးကိုရရန်နှင့် log file ထဲသို့ 0 င်ရန် Laravel's DB မျက်နှာစာကို Middle's DB Facade ကိုသုံးနိုင်သည်။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\DB;
class QueryLogMiddleware
{
public function handle($request, Closure $next)
{
// query log ကို Enable လုပ်ပါ
DB::connection()->enableQueryLog();
$response = $next($request);
// စုံစမ်းမှုမှတ်တမ်းရယူပါ
$queries = DB::getQueryLog();
foreach ($queries as $query) {
// သေတမ်းစာ$queryဖိုင်များကိုမှတ်တမ်းတင်ရန်ရေးပါ
}
return $response;
}
}
အထက်ပါကုဒ်တွင် `DB :: connection () -> enablequeerierlog ()` `query query logging` `enablequerylog) DB :: GetQuerylog () နည်းလမ်းကိုခေါ်ဆိုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မေးမြန်းမှုမှတ်တမ်းများအားလုံးကိုရယူပြီး travers query query query query query တစ်ခုစီကို ဖြတ်. မှတ်တမ်းတင်နိုင်သည်။
ဒေတာဘေ့စ်စုံစမ်းမှုများမှတ်တမ်းများကိုမှတ်တမ်းတင်ခြင်းအပြင်စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာရေးလုပ်ငန်းများကိုအကောင်အထည်ဖော်ရန် Middleware ကိုလည်းသုံးနိုင်သည်။ ဥပမာအားဖြင့်, လျှောက်လွှာ၏တုန့်ပြန်အချိန်ကိုစောင့်ကြည့်ရန် Laravel ၏ Debugbar extension ကိုသုံးနိုင်သည်။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။
<?php
namespace App\Http\Middleware;
use Closure;
use Barryvdh\Debugbar\Facade as Debugbar;
class PerformanceMiddleware
{
public function handle($request, Closure $next)
{
$start = microtime(true);
$response = $next($request);
$end = microtime(true);
$executionTime = $end - $start;
// စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာရေးဒေတာထည့်ပါ
Debugbar::addMeasure('Execution Time', $start, $end);
return $response;
}
}
အထက်ပါကုဒ်တွင် Debugbar's Facade ကို "Execution Time" ဟုခေါ်သောစွမ်းဆောင်ရည်မက်ထရစ်ကိုထည့်သွင်းရန်နှင့်တောင်းဆိုမှု၏ကွပ်မျက်ချိန်အချိန်ကိုတွက်ချက်ရန်အသုံးပြုသည်။ ဒေတာဘေ့စ် querties များ, မှတ်ဉာဏ်အသုံးပြုမှုစသည်ဖြင့်အခြားစွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာရေးမက်ထရစ်များကိုလည်းသင်ထည့်နိုင်သည်။
ထို့နောက်ကျွန်ုပ်တို့သည်ဤငွေပမာဏကိုလျှောက်လွှာထဲသို့မှတ်ပုံတင်ရန်လိုအပ်သည်။ `app / http / kernel.php 'file ကိုဖွင့်ပြီးအောက်ပါကုဒ်ကို` $ middorware အမျိုးအစားများကိုထည့်ပါ။
protected $middlewareGroups = [
'web' => [
// အခြားအချိုးအစား...
\App\Http\Middleware\QueryLogMiddleware::class,
\App\Http\Middleware\PerformanceMiddleware::class,
],
];
၎င်းသည်ဝက်ဘ်တောင်းဆိုမှုတစ်ခုစီတွင်၎င်းတို့ကိုကွပ်မျက်ခံရလိမ့်မည်ဟုဆိုလိုသည်။
ယခုကျွန်ုပ်တို့သည်ဤ middleware ကို application ၏မည်သည့်လမ်းကြောင်းသို့မဟုတ် Controller နည်းလမ်းဖြင့်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, `လမ်းကြောင်း / web.php ဖိုင်တွင်ကျွန်ုပ်တို့သည်၎င်းကိုအသုံးပြုနိုင်သည်။
Route::middleware(['query.log', 'performance'])->group(function () {
// အဓိပ္ပါယ်ဖွင့်ဆိုချက်...
});
ဒီဥပမာက routing အုပ်စုတွေကို Moneyware ကိုဘယ်လိုကျင့်သုံးရမလဲဆိုတာပြတယ်။ သူတို့ကိုလမ်းကြောင်းတစ်ခုသို့မဟုတ် Controller နည်းလမ်းတစ်ခုတည်းသို့လည်းသင်အသုံးပြုနိုင်သည်။
Laravel's middleward ကို အသုံးပြု. ဒေတာဘေ့စ်စုံစမ်းမှုနှင့်စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာခြင်းစွမ်းရည်များကိုကျွန်ုပ်တို့၏လျှောက်လွှာများကိုအလွယ်တကူထည့်နိုင်သည်။ ဒေတာဘေ့စ်စုံစမ်းမှုမှတ်တမ်းကိုမှတ်တမ်းတင်ပြီး `past အခြား past astrockewalksware throughters's throught sport 'ကိုမှတ်တမ်းတင်ရန်` ere any querylogmnsogimnwarewwarewle ကိုကျွန်ုပ်တို့ဖန်တီးခဲ့သည်။ ဤအမြှုပ်များသည်မှတ်ပုံတင်ရန်နှင့်အသုံးပြုရန်အလွန်ရိုးရှင်းပါသည်,