လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> set_error_handler နှင့် တွဲဖက်. Init function ကိုအသုံးပြုရန်အတွက်သိကောင်းစရာများ ()

set_error_handler နှင့် တွဲဖက်. Init function ကိုအသုံးပြုရန်အတွက်သိကောင်းစရာများ ()

gitbox 2025-05-28

PHP Development တွင်အမှားအယွင်းများကိုကိုင်တွယ်ခြင်းသည်အရေးပါသောအလုပ်ဖြစ်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်းဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာပြ problems နာများသို့မဟုတ်ထုတ်လုပ်မှုဆိုင်ရာပတ်ဝန်းကျင်ပြ problems နာများအတွင်း debugging လုပ်ခြင်းဖြစ်စေ, PHP သည် အမှားအယွင်းအမျိုးမျိုးရှိသောနည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်

set_error_handler ဆိုတာဘာလဲ။

PHP ၏ Set_error_Handler () function သည်အမှားကိုင်တွယ်သူများကိုစိတ်ကြိုက်ပြုလုပ်ရန်ခွင့်ပြုသည်။ ဤလုပ်ဆောင်မှုဖြင့် PHP ၏ default error ကိုင်တွယ်သည့်ယန္တရားကိုစိတ်ကြိုက်အမှားကိုင်တွယ်သည့်လုပ်ဆောင်မှုဖြင့်အစားထိုးနိုင်သည်။ ဤထုံးစံ function သည်အမှားအယွင်းများကိုလက်ခံရရှိပြီးအမှားအယွင်းများကိုမှတ်တမ်းတင်ခြင်း, အကြောင်းကြားစာများပေးပို့ခြင်း,

set_error_handler () function ကို syntax:

 set_error_handler(string $error_handler, int $error_types = E_ALL);
  • $ error_handler : ဤသည်ကားအမှားကိုင်တွယ် function ကိုကိုင်တွယ်ဖြေရှင်း၏အမည်ဖြစ်သည်။

  • $ error_types : မည်သည့်အမှားအယွင်းများပြုလုပ်ရန်လိုအပ်သည့်အမှားအယွင်းများကိုသင်သတ်မှတ်နိုင်သည်။ ပုံမှန်တန်ဖိုးသည် E_All ဖြစ်ပြီး၎င်းသည်အမှားအယွင်းများအားလုံးဖြစ်သည်။

Init function ကို၏အခန်းကဏ်။

Init function သည်များသောအားဖြင့်အချို့သောမူဘောင်များသို့မဟုတ်စာကြည့်တိုက်များ၌ချိန်ညှိချက်များတွင်ချိန်ညှိချက်များကိုစတင်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ပရိုဂရမ်စတင်ခြင်း, ဒေတာဘေ့စ် connection, application arease on on on on on on on us us round form လုပ်ခြင်းကဲ့သို့သောပရိုဂရမ်စတင်ခြင်းစသည့်ပရိုဂရမ် စတင်သောအခါ၎င်းသည်လိုအပ်သော configurations အချို့ပြုလုပ်နိုင်သည်။

set_error_handler နှင့်အတူ Init function ကိုအသုံးပြုနည်း။

ပိုမိုရှင်းလင်းပြီးထိရောက်စွာကိုင်တွယ်ဖြေရှင်းရန်အမှားများပြုလုပ်ရန် Set_ERROR_HANDLER () function ကိုကျွန်ုပ်တို့ထည့်သွင်းနိုင်သည့်ပရိုဂရမ်ကိုအစပြုသည့်အခါအမှားကိုင်တွယ်သူကိုမှတ်ပုံတင်ရန် Init function တစ်ခုထဲသို့ထည့်သွင်းနိုင်သည်။ ဤ၏အားသာချက်မှာအမှားအယွင်းများအားလုံးသည်စိတ်ကြိုက်ဖြစ်စဉ်ကိုဖြတ်သန်းသွားနိုင်အောင် code conflict conclate လုပ်ခြင်းနှင့်စနစ်တကျစောင့်ရှောက်ရန်ဖြစ်သည်။

နမူနာကုဒ်:

 // ထုံးစံအမှားကိုင်တွယ် functions ကိုသတ်မှတ်
function customErrorHandler($errno, $errstr, $errfile, $errline) {
    // အမှားများကိုကိုင်တွယ်,ဥပမာအားဖြင့်, မှတ်တမ်းဖိုင်သို့ logging
    $logMessage = "Error [$errno]: $errstr in $errfile on line $errline\n";
    error_log($logMessage, 3, '/var/log/php_errors.log');

    // အမှားအဆင့်အရသိရသည်ကိုင်တွယ်
    if ($errno == E_USER_ERROR) {
        echo "ဆိုးဝါးအမှား,အစီအစဉ်ကိုရပ်စဲ。";
        exit(1);
    }

    return true;  // တားဆီး PHP ပုံမှန်အမှားကိုင်တွယ်
}

// function ကိုစတင်,အမှားကိုင်တွယ်သူမှတ်ပုံတင်ပါ
function init() {
    // တစ် ဦး စိတ်ကြိုက်အမှားကိုင်တွယ်erlerကိုတည်ဆောက်ခြင်း
    set_error_handler('customErrorHandler', E_ALL);

    // အခြားအကန့်အသတ်ကုဒ်များ,ထိုကဲ့သို့သောဒေတာဘေ့စဆက်သွယ်မှုစသည်ဖြင့်
    // နမူနာ:ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
    // $db = new mysqli("localhost", "user", "password", "database");
}

// 调用function ကိုစတင်
init();

// ထုံးစံအမှားတစ်ခုဖြစ်ပေါ်စေသည်
trigger_error("ဤသည်အသုံးပြုသူအဆင့်အမှားတစ်ခုဖြစ်သည်", E_USER_WARNING);

ကုဒ်ကိုရှင်းပြပါ

  1. CustomerRORORHANDLER : ဤသည်ကျွန်ုပ်တို့၏စိတ်ကြိုက်အမှားကိုင်တွယ်လုပ်ဆောင်မှု 4 ခုကိုရရှိသည်။

    • $ errno : အမှားအယွင်း (e.g. , e_notice , e_warning ) ။

    • $ errorstr : အမှားမက်ဆေ့ခ်ျကို။

    • $ Errfile : အမှားအယွင်းရှိသည့်ဖိုင်အမည်။

    • $ အမှားအယွင်း - အမှားအတွက်ဖြစ်ပွားခဲ့သောလိုင်းနံပါတ်။

    function ကိုအတွင်း၌အမှားအချက်အလက်များကို log file ထဲသို့ 0 င်ပြီးကွဲပြားခြားနားသောအမှားအဆင့်များအရကွဲပြားခြားနားသောအပြောင်းအလဲကိုပြုလုပ်သည်။ ဥပမာအားဖြင့်, ဆိုးဝါးသောအမှားတစ်ခုကြုံတွေ့ရသောအခါကျွန်ုပ်တို့သည် program ကို ထွက်ပေါက် () မှတစ်ဆင့်ရပ်စဲသည်။

  2. Init : ဒီအစွန်အဖျား function ရဲ့အဓိကလုပ်ဆောင်ချက်က Set_error_handler () function ကို call function function ကိုမှတ်ပုံတင်ဖို့ဆိုတဲ့ set_error_handler () function ကိုခေါ်ဖို့ပါ။ ဤနည်းအားဖြင့် Execution Process တွင်အမှားတစ်ခုဖြစ်ပေါ်လာသည့်အခါ CustomErRorhandler function ကိုအပြောင်းအလဲနဲ့အဘို့အအစပျိုးလိမ့်မည်။

  3. အမှားအယွင်း - အမှားတစ်ခုစတင်ရန် trigger_error () function ကိုသုံးပါ။ ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူအဆင့်သတိပေးချက် ( E_USER_WARNING ) ကိုဖွင့်ပြီးအမှားကိုင်တွယ်erlerကမည်သို့တုံ့ပြန်သည်ကိုကြည့်ပါ။

အမှားကိုင်တွယ်၏အရေးပါမှု

သင့်လျော်သောအမှားကိုင်တွယ်မှုသည်စနစ်၏တည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသေးစိတ်အမှားမှတ်တမ်းများသည် developer များကပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်သက်ဆိုင်ရာအစီအမံများပြုလုပ်ရန်ကူညီနိုင်သည်။ ထို့အပြင်သင့်လျော်သောအမှားကိုင်တွယ်မှုသည်ကြီးမားသောပြ problems နာများကိုကြုံတွေ့ရသောအခါပရိုဂရမ်ကိုတိုက်ရိုက်ပျက်ဆီးစေပြီးအသုံးပြုသူများအားကောင်းမွန်သောအတွေ့အကြုံများပေးနိုင်သည်။

နိဂုံးချုပ်အားဖြင့်

Set_ERROR_HANDLER () ကို init function ဖြင့် အသုံးပြု. PHP developer များသည်ပြောင်းလွယ်ပြင်လွယ်။ ဗဟိုအမှားကိုင်တွယ်မှုကိုအကောင်အထည်ဖော်နိုင်သည်။ ၎င်းသည်ယုတ္တိဗေဒကိုကိုင်တွယ်ဖြေရှင်းခြင်းအမှားစီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုကိုခွင့်ပြုရန်သာမကအစီအစဉ်၏ထိန်းသိမ်းနိုင်မှုနှင့်ပမာဏကိုလည်းတိုးတက်စေသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျိုးကြောင်းဆီလျော်သောအမှားကိုင်တွယ်နည်းများသည်စီမံကိန်း၏ရေရှည်နှင့်တည်ငြိမ်သောလည်ပတ်မှုအတွက်အလွန်အရေးကြီးသည်။