0 က်ဘ်အပလီကေးရှင်းများဖွင့်သောအခါခြွင်းချက်ကိုင်တွယ်မှုမှာအရေးပါသည်။ PHP သည်အစွမ်းထက်သောခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကိုထောက်ပံ့ပေးသည်။ ပေါ့ပါးသော PHP framework အနေဖြင့် Slim Framework သည်အမှားအယွင်းများကိုဖမ်းရန်နှင့်စီမံခန့်ခွဲရန်ထိရောက်သောနည်းလမ်းတစ်ခုကိုလည်းထောက်ပံ့ပေးသည်။ Developer များကသူတို့၏လျှောက်လွှာများ၏တည်ငြိမ်မှုကိုသေချာစေရန် Slim Framework တွင်ချွင်းချက်ကိုင်တွယ်ပုံကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးတွင်လေ့လာပါမည်။
Slim Framework တွင်ကျွန်ုပ်တို့သည်စိတ်ကြိုက်ချွင်းချက်အတန်းများကို ဖန်တီး. လျှောက်လွှာအတွင်းရှိအမှားအယွင်းများကိုပိုမိုတိကျစွာဖမ်းဆီးနိုင်သည်။ ဤနည်းအားဖြင့်၎င်းသည် PHP ၏ built-in ခြွင်းချက် အတန်းကိုအမွေဆက်ခံခြင်းဖြင့်ခြွင်းချက်အပြုအမူအသစ်ကိုသတ်မှတ်သည်။
class CustomException extends Exception {
public function __construct($message, $code = 0, Exception $previous = null) {
parent::__construct($message, $code, $previous);
}
public function __toString() {
return "{$this->message} ({$this->code})" . $this->getTraceAsString();
}
}
ပါးလွှာသောမူဘောင်တွင် Try-catch statement block ကိုဖြစ်နိုင်ချေခြွင်းချက်များကိုဖမ်းရန်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်မတူကွဲပြားသောခြွင်းချက်အမျိုးအစားများကိုကိုင်တွယ်ဖြေရှင်းနိုင်ရန်နှင့် UNEMandled ခြွင်းချက်များကြောင့်လျှောက်လွှာမပျက်စီးနိုင်ကြောင်းသေချာစေရန်။
$app->get('/user/{id}', function($request, $response, $args) {
try {
// ခြွင်းချက်ပစ်စေနိုင်သော code ကို execute
$user = getUser($args['id']);
return $response->withJson($user);
} catch (CustomException $e) {
return $response->withStatus(500)->write('Custom Exception: ' . $e->getMessage());
} catch (HttpNotFoundException $e) {
return $response->withStatus(404)->write('Not Found');
} catch (Exception $e) {
return $response->withStatus(500)->write('Unknown Exception: ' . $e->getMessage());
}
});
လမ်းကြောင်းတစ်ခုစီတွင် Try-catch block ကိုအသုံးပြုခြင်းအပြင်ကမ္ဘာလုံးဆိုင်ရာခြွင်းချက်များကိုလည်းအခြားနယ်ဇုန်တွင်တစ် ဦး တည်းအပေါ်တစ် ဦး ယူနီဖောင်းကိုကိုင်တွယ်နိုင်သည်။ ၎င်းသည်ထပ်တူကုဒ်ကိုလျှော့ချပြီးလျှောက်လွှာ၏ထိန်းသိမ်းမှုကိုတိုးတက်စေသည်။
class ErrorHandlerMiddleware extends SlimMiddlewareErrorMiddleware {
public function __invoke($request, $response, $next) {
try {
$response = $next($request, $response);
} catch (CustomException $e) {
$response = $response->withStatus(500)->write('Custom Exception: ' . $e->getMessage());
} catch (HttpNotFoundException $e) {
$response = $response->withStatus(404)->write('Not Found');
} catch (Exception $e) {
$response = $response->withStatus(500)->write('Unknown Exception: ' . $e->getMessage());
}
return $response;
}
}
ဤဥပမာတွင် Examhandlermskware ဟုခေါ်သော middlew ည့်သည်များကိုဖန်တီးသည်။ ဤချဉ်းကပ်မှုသည် Global Error ကိုင်တွယ်ရန်အလွန်သင့်လျော်သည်။
ပါးလွှာသောမူဘောင်တွင်ခြွင်းချက်ကိုင်တွယ်ခြင်းသည်လျှောက်လွှာတည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။ ခြွင်းချက်အတန်းများကိုစိတ်ကြိုက်ပြုလုပ်ခြင်းသည်ကမ္ဘာလုံးဆိုင်ရာခြွင်းချက်ဖမ်းယူ ခြင်း ဖြင့် developments သည်အမှားအယွင်းများကိုအလွယ်တကူကိုင်တွယ်ဖြေရှင်းနိုင်ရန်နှင့်စနစ်အားကြံ့ခိုင်မှုကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။
ဤဆောင်းပါးတွင်မိတ်ဆက်သည့်နည်းစနစ်များမှတစ်ဆင့် Slim Framework တွင်ချွင်းချက်များကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးပိုမိုထိရောက်သော PHP application များတည်ဆောက်ခြင်းဖြစ်သည်။