PHP ဘာသာစကား၏စဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ developer များစွာသည် PHP3.6 မှ PHP7.6 မှ PHP7.4 အထိအဆင့်မြှင့်တင်သည့်အခါသဟဇာတဖြစ်နေသောပြ issues နာအချို့ကိုကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည် PHP7.4 တွင်ဤလိုက်ဖက်တဲ့ပြ issues နာများကိုစနစ်တကျကိုင်တွယ်ဖြေရှင်းရန်မည်သို့ကိုင်တွယ်ရမည်နည်း, အမှားမှတ်တမ်း output သည်ပုံမှန်အတိုင်းသာဖြစ်ပြီးသက်ဆိုင်ရာကုဒ်များကိုဥပမာပေးသည်။
PHP ဗားရှင်းများကိုအဆင့်မြှင့်တင်သည့်အခါ PHP5.6 နှင့် PHP7.4 အကြားကွဲပြားခြားနားမှုများကိုနားလည်ရန်အလွန်အရေးကြီးသည်။ ဘုံလိုက်ဖက်တဲ့ပြ issue နာကအမှားမှတ်တမ်းများဟာ output အပြောင်းအလဲတွေဖြစ်တယ်ဆိုတာပါပဲ။ PHP3.6 တွင်အသုံးပြုသောအမှားမှတ်တမ်း output method သည် PHP7.4 နှင့်မသက်ဆိုင်ပါ။ ထို့ကြောင့်ကုဒ်ကိုမွမ်းမံရန်လိုအပ်သည်။
PHPP7.4 တွင် အမှားအယွင်းရှိသည့် function ကိုအသုံးပြုမှုပြောင်းလဲသွားပြီ။ အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီ Error Reporting Loge ကိုသတ်မှတ်ရန်ဤလုပ်ဆောင်ချက်ကိုအသုံးပြုသည်။
E_ALL သို့အမှားအယွင်းများအဆင့်သတ်မှတ်သည့်ကုဒ်ဥပမာတစ်ခုမှာ -
// မှအမှားအစီရင်ခံစာအဆင့်ကိုသတ်မှတ်ပါE_ALL(အမှားအားလုံးကိုပြပါ)
error_reporting(E_ALL);
ဤနည်းအားဖြင့်သင်သည်အမှားအယွင်းများအားလုံးကိုပြသနိုင်ပြီးအမှန်တကယ်လိုအပ်ချက်များနှင့်အညီအမှားအဆင့်ကိုချိန်ညှိနိုင်သည်။
PHPP7.4 တွင် error_log function ကို log file သို့အမှားအချက်အလက်များကိုရေးရန်အသုံးပြုသည်။ ဤတွင်မှတ်တမ်းဖိုင်သို့အမှားမက်ဆေ့ခ်ျများကိုမှတ်တမ်းတင်ထားသောကုဒ်ဥပမာတစ်ခုရှိသည်။
// ဖိုင်မှတ်တမ်းတင်ရန်အမှားအယွင်းများရေးပါerror.log
error_log("Error message", 3, "error.log");
ဤဥပမာတွင်အမှားမက်ဆေ့ခ်ျကို Error.log အမည်ရှိဖိုင်ထဲသို့ဝင်ရောက်လိမ့်မည်။ လိုအပ်သည့်အတိုင်းမှတ်တမ်းဖိုင်အမည်နှင့်လမ်းကြောင်းကိုသင်ပြုပြင်နိုင်သည်။
PHPP7.4 တွင်ခြွင်းချက်များကိုကိုင်တွယ်ရန် Try-catch block ကိုအသုံးပြုရန်အကြံပြုသည်။ ဤနည်းလမ်းသည်အမှားအယွင်းများကိုပိုမိုထိရောက်စွာဖမ်းဆီးနိုင်ပြီးခြွင်းချက်များကြောင့်ပရိုဂရမ်ရပ်စဲခြင်းကိုရှောင်ရှားနိုင်သည်။
Try-Catch Block ကို သုံး. ခြွင်းချက်များဖမ်းယူခြင်းအတွက်ကုဒ်နမူနာတစ်ခုရှိသည်။
try {
// ခြွင်းချက်ပစ်စေခြင်းငှါ code ကို
} catch (Exception $e) {
// ခြွင်းချက်ကိုင်တွယ် code ကို
error_log($e->getMessage(), 3, "error.log");
}
ဤနည်းအားဖြင့်ခြွင်းချက်များ၏ဖြစ်ပျက်မှုကိုမှတ်တမ်းတင်ခြင်းနှင့်မှတ်တမ်းတင်ထားသည်။
PHPPPP7.4 သည် developer များက developer များကဓလေ့ထုံးတမ်းအမှားကိုင်တွယ်သည့်လုပ်ဆောင်ချက်များကို သတ်မှတ်. အမှားကိုင်တွယ်သည့်ယန္တရားများကို set_error_handler function ကိုမှတ်ပုံတင်ရန်ခွင့်ပြုသည်။ ဤနည်းအားဖြင့်အမှားအချက်အလက်များကိုပြောင်းလွယ်ပြင်လွယ်မှတ်တမ်းတင်ပြီးလိုအပ်ချက်များအရနောက်ထပ်လုပ်ဆောင်နိုင်သည်။
ဤနေရာတွင်ထုံးစံအမှားကိုင်တွယ်သည့်လုပ်ဆောင်မှုအတွက်ကုဒ်ဥပမာတစ်ခုဖြစ်သည်။
function customErrorHandler($errno, $errstr, $errfile, $errline) {
// မှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုမှတ်တမ်းတင်ပါ
error_log("Error: $errstr in $errfile on line $errline", 3, "error.log");
}
// တစ် ဦး စိတ်ကြိုက်အမှားကိုင်တွယ် function ကိုမှတ်ပုံတင်ပါ
set_error_handler("customErrorHandler");
ဤဥပမာတွင်အမှားတစ်ခုဖြစ်ပွားသည့်အခါအမှားမက်ဆေ့ခ်ျကို error.log file သို့ logged လိမ့်မည်။
PHP ကို 5.6 မှ 7.4 အထိအဆင့်မြှင့်တင်ခြင်းတွင်အမှားမှတ်တမ်း output အတွက်လိုက်ဖက်တဲ့ပြ issues နာများကိုကိုင်တွယ်ရန်အလွန်အရေးကြီးသည်။ Error Refring Level ကိုမှန်ကန်စွာပြင်ဆင်ခြင်းအားဖြင့် error_log function နှင့်မှတ်တမ်းများကိုမှတ်တမ်းတင်ခြင်းအားဖြင့် try-catch block ဖြင့်ခြွင်းချက်များနှင့် custom error function function များကိုသတ်မှတ်ခြင်းနှင့်စနစ်၏တည်ငြိမ်မှုကိုမှတ်တမ်းတင်ခြင်းနှင့်စနစ်၏တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုသေချာစေနိုင်သည်။