PHP Development တွင် Custom usror pages စာမျက်နှာများကိုသတ်မှတ်ခြင်းသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန်အရေးကြီးသောအလုပ်တစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည် PHP အမှားများကို Set_error_Handler () နှင့် set_exception_handler () လုပ်ဆောင်ချက်များမှတဆင့်ခြွင်းချက်များကိုကိုင်တွယ်နိုင်သည်။ ဤဆောင်းပါးသည်ဤအမှားကိုင်တွယ်သည့်ယန္တရားများကို PHP တွင် init function မှတဆင့်စတင်ဖြန့်ချိနိုင်ပြီး user-friendly custom page တွင်အမှားအယွင်းများကိုပြသလိမ့်မည်။
PHP တွင် Init function သည်ပရိုဂရမ်စတင်သောအခါအများအားဖြင့်စတင်လုပ်ဆောင်ခြင်းဖြစ်သည်။ ၎င်းကိုများသောအားဖြင့်ဒေတာဘေ့စ်ဆက်သွယ်မှု, အမှားကိုင်တွယ်ခြင်း, cache settings စသည့်အခြေခံပြင်ဆင်မှုများကိုသတ်မှတ်ရန်အသုံးပြုသည်။ လျှောက်လွှာသက်တမ်းတစ်လျှောက်လုံးတွင်စည်းလုံးသောအမှားကိုင်တွယ်ပုံတစ်ပုံရှိယုတ္တိရှိရှိသေချာစေရန်အမှားကိုင်တွယ်သူကိုစတင်ရန်ဤလုပ်ဆောင်မှုကိုအသုံးပြုနိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်စိတ်ကြိုက်အမှားစာမျက်နှာကိုပြင်ဆင်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော HTML စာမျက်နှာတစ်ခုကိုဖန်တီးနိုင်သည်။
<!-- error_page.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>အမှားစာမျက်နှာ</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
text-align: center;
padding: 50px;
}
h1 {
color: #f44336;
}
</style>
</head>
<body>
<h1>စိတ်မကောင်းပါဘူး,အမှားတစ်ခုဖြစ်ပွားခဲ့သည်!</h1>
<p>ကျနော်တို့ပြ the နာကိုဖြေရှင်းရန်ကြိုးစားအားထုတ်နေကြသည်,ကျေးဇူးပြု. နောက်မှထပ်ကြိုးစားပါ。</p>
</body>
</html>
ဤစာမျက်နှာကိုကျွန်ုပ်တို့၏အမှားအယွင်းများအားလုံးအတွက်ပြသမှုစာမျက်နှာတစ်ခုအနေနှင့်အသုံးပြုလိမ့်မည်။
ထို့နောက် PHP ၏ Init Front Function တွင်ကျွန်ုပ်တို့သည်စိတ်ကြိုက်အမှားကိုင်တွယ်သူတစ် ဦး တပ်ဆင်နိုင်သည်။ Set_error_Handler () နှင့် set_exception_handler () functions များနှင့်အတူ PHP အမှားအယွင်းများနှင့်ခြွင်းချက်များကိုကျွန်ုပ်တို့ဖမ်းယူနိုင်ပြီးကျွန်ုပ်တို့၏စိတ်ကြိုက်အမှားစာမျက်နှာသို့ redirect လုပ်နိုင်သည်။
<?php
// init.php
// function ကိုစတင်
function init() {
// Custom Error Handlers ကိုတည်ဆောက်ခြင်း
set_error_handler('customErrorHandler');
// Custom ခြွင်းချက် Handlers တက် setting
set_exception_handler('customExceptionHandler');
}
// Custom အမှားကိုင်တွယ်erler
function customErrorHandler($errno, $errstr, $errfile, $errline) {
// developer များကိုအကြောင်းကြားရန်အမှားမှတ်တမ်းများကိုသင်မှတ်တမ်းတင်နိုင်သည်သို့မဟုတ်အီးမေးလ်များပို့နိုင်သည်
error_log("Error [$errno]: $errstr in $errfile on line $errline");
// 重定向到自定义အမှားစာမျက်နှာ
header("Location: https://gitbox.net/error_page.html");
exit();
}
// စိတ်ကြိုက်ချွင်းချက် Handler
function customExceptionHandler($exception) {
// developer များအားအကြောင်းကြားရန်ခြွင်းချက်မှတ်တမ်းများကို log sending လုပ်နိုင်သည်
error_log("Uncaught exception: " . $exception->getMessage());
// 重定向到自定义အမှားစာမျက်နှာ
header("Location: https://gitbox.net/error_page.html");
exit();
}
// 调用function ကိုစတင်
init();
?>
အထက်ပါကုဒ်တွင် init () function ကိုလျှောက်လွှာအစတွင်ဟုခေါ်သည်။ အမှားကိုင်တွယ်သူနှစ် ဦး ကို သတ်မှတ်သည် ။
Set_error_Handler ('CustomerRorroshandler') သည် PHP အမှားများကို CustomerRorrorhandler function ကို redirected ပြုလုပ်ရန်ခွင့်ပြုသည်။
Set_Exception_Handler ('customexceptline)) (' customexcepterler)) မှ မရှိသေးသောခြွင်းချက်များကိုကိုင်တွယ်ရန် သတ်မှတ်ထားသော အကောင်အထည်ဖော်မှုကိုကိုင်တွယ်ရန်ခွင့်ပြုသည်။
အမှားတစ်ခုသို့မဟုတ်ခြွင်းချက်တစ်ခုဖြစ်ပေါ်လာသောအခါ PHP သည်ဤလုပ်ဆောင်မှုများကိုအလိုအလျောက်လုပ်ဆောင်ခြင်း, သက်ဆိုင်ရာမှတ်တမ်းများကိုမှတ်တမ်းတင်ပြီးအသုံးပြုသူအား https://gitbox.net/error_page.html စာမျက်နှာသို့ပြောင်းပါလိမ့်မည်။ ဤနည်းအားဖြင့် PHP ၏ပုံမှန်အမှားစာမျက်နှာကိုအသုံးပြုသူများသည် PHP ၏မူလအမှားစာမျက်နှာကိုတွေ့ရလိမ့်မည်မဟုတ်ပါ။
ကျွန်ုပ်တို့၏အမှားကိုင်တွယ်erlerကိုစမ်းသပ်ရန်အမှားအယွင်းများသို့မဟုတ်ခြွင်းချက်အချို့ကို code တွင်တမင်တကာပစ်ချနိုင်သည်။ ဥပမာအားဖြင့် undefined function ကိုခေါ်ပါသို့မဟုတ်ခြွင်းချက်တစ်ခုချမှတ်ပါ။
<?php
// အမှားတစ်ခုတမင်တကာထမြောက်သည်
echo undefinedFunction();
// အထူးခြွင်းချက်ကိုပစ်ချသည်
throw new Exception("ဒီစမ်းသပ်မှုချွင်းချက်ဖြစ်ပါတယ်!");
?>
ဤစာမျက်နှာကိုရယူသည့်အခါအသုံးပြုသူအား https:/gitbox.net/error_page.html စာမျက်နှာသို့ Redirected သင့်သည် PHP default error error error message ကိုမမြင်ဘဲပြန်လည်နေရာချထားသင့်သည်။
အကျဉ်းချုပ်
PHP တွင် Init function တွင် Custom heror page ကိုစတင်ခြင်းအားဖြင့်လျှောက်လွှာ၏အမှားကိုင်တွယ်သည့်ယန္တရားကိုပေါင်းစည်းပြီးဖော်ရွေသည်ကိုကျွန်ုပ်တို့သေချာစေနိုင်သည်။ Custom error error handlers များနှင့်ခြွင်းချက်ကိုင်တွယ်သူများကိုတည်ဆောက်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မှားယွင်းသော HTML စာမျက်နှာများပေါ်တွင်အမှားအယွင်းများအားလုံးကိုပြန်လည်ပြုပြင်ခြင်း,
PHP တွင်ထုံးစံအမှားစာမျက်နှာများကိုမည်သို့ပြင်ဆင်ရမည်ကိုပိုမိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီလိမ့်မည်ဟုမျှော်လင့်ပါ။ သင့်တွင်တိုးတက်မှုအတွက်အခြားမေးခွန်းများသို့မဟုတ်အကြံပြုချက်များရှိပါက ကျေးဇူးပြု. အောက်ဖော်ပြပါစာကိုဆွေးနွေးရန်ထားခဲ့ပါ။