PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွင်းတွင်အမှားအယွင်းအမျိုးမျိုးကိုကြုံတွေ့ရလေ့ရှိပြီး, သင်သတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ကိုရယူရန်ကြိုးစားသည့်အခါဤအမှားသည်များသောအားဖြင့်ဖြစ်ပေါ်လေ့ရှိသည်။ ဤဆောင်းပါးသည်ဤအမှား၏အကြောင်းရင်းကိုအသေးစိတ်လေ့လာပြီးထိရောက်သောဖြေရှင်းနည်းများပေးလိမ့်မည်။
undefined Contreatant ကို 0 င်ရောက်သောအခါအမှားတစ်ခုကိုမည်သို့ရယူရမည်ကိုပြသည့်ရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။
<?php echo MY_CONSTANT; ?>
ဤကုဒ်ကို run သောအခါ PHP သည်အမှားတစ်ခုဖြစ်လိမ့်မည်။ အကြောင်းပြချက်ကအရမ်းရိုးရှင်းပါတယ်, ကုဒ်သည် undefined Constant 'My_constant' ကိုရယူရန်ကြိုးစားနေသည်။
ပထမ ဦး စွာစဉ်ဆက်မပြတ်မှန်ကန်စွာသတ်မှတ်ခြင်းရှိမရှိစစ်ဆေးပါ။ အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် 'my_constant' ကိုမသတ်မှတ်ပါ။ ထို့ကြောင့်ဝင်ရောက်ကြည့်ရှုသောအခါအမှားတစ်ခုဖြစ်ပေါ်သည်။
ဤပြ problem နာကိုဖြေရှင်းရန် PHP ၏အဓိပ္ပါယ် () function ကိုသုံးနိုင်သည်။
<?php define("MY_CONSTANT", "Hello, World!"); echo MY_CONSTANT; ?>
ဤကုဒ်တွင် "my_constant 'ကိုအမြဲတမ်းသတ်မှတ်ရန် (ကမ္ဘာကိုကိုးကွယ်ရန်" တန်ဖိုးကိုသတ်မှတ်ရန်သတ်မှတ်ခြင်း () ကိုအသုံးပြုသည်။ ဤအချိန်တွင်စဉ်ဆက်မပြတ်လည်ပတ်သည့်အခါအမှားမရှိပါ။
နောက်ထပ်ဘုံပြ problem နာတစ်ခုမှာစဉ်ဆက်မပြတ် 0 င်ရောက်သောအခါ၎င်းသည်မှားယွင်းသောအတိုင်းအတာဖြင့်ဖြစ်နိုင်သည်။ ဥပမာအားဖြင့်စဉ်ဆက်မပြတ်သည်ကမ္ဘာလုံးဆိုင်ရာနယ်ပယ်တွင်သတ်မှတ်ထားသည်။ ဤအချိန်တွင်အမှားတစ်ခုကိုလည်းအစီရင်ခံလိမ့်မည်။
<?php function test() { echo MY_CONSTANT; } test(); ?>
ဤကုဒ်သည်မှားယွင်းသော 'my_constant' 'unde_constant' '' my_constant '' အစဉ်အမြဲ 'my_constant' ကိုကမ္ဘာလုံးဆိုင်ရာနယ်ပယ်တွင်သတ်မှတ်ထားပြီးကမ္ဘာလုံးဆိုင်ရာစဉ်ဆက်မပြတ်သည် function ကိုတိုက်ရိုက် 0 င်ရောက်နိုင်ခြင်းအားဖြင့်ဖြစ်သည်။
အဖြေမှာ Global Keyword ကိုအသုံးပြုရန်ကမ္ဘာလုံးဆိုင်ရာကိန်းရှင်များကိုရယူရန်အတွက်ဖြစ်သည်။
<?php define("MY_CONSTANT", "Hello, World!"); function test() { global MY_CONSTANT; echo MY_CONSTANT; } test(); ?>
function အတွင်းရှိ Global Keyword ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စဉ်ဆက်မပြတ်တန်ဖိုးများကိုမှန်ကန်စွာရယူပြီးထုတ်လွှင့်နိုင်သည်။
ထိုကဲ့သို့သောအမှားအယွင်းများကိုရှောင်ရှားရန်, စဉ်ဆက်မပြတ်တည်ရှိခြင်းမပြုမီအမြဲတမ်းတည်ရှိရန်သေချာစေရန်သတ်မှတ်သည့်အခါသင်ဟာစည်းလုံးညီညွတ်သောရှေ့ဆက်ကိုသုံးနိုင်သည်။ ၎င်းသည် undefined contremants ကိုရယူရန်ကြိုးစားခြင်း၏အမှားကိုရှောင်ရှားသည်။
<?php if (defined("MY_CONSTANT")) { echo MY_CONSTANT; } else { echo "MY_CONSTANT is not defined."; } ?>
ဤဥပမာတွင် 'my_constant' ကိုအမြဲတမ်းသတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးရန်သတ်မှတ်ထားသော () function ကိုသုံးပါ။ သတ်မှတ်ထားသောလျှင်, ၎င်း၏တန်ဖိုးကို output; ဒီလိုမှမဟုတ်ရင် output ကိုအမှားမက်ဆေ့ခ်ျကို။
သငျသညျ "undefined စဉ်ဆက်မပြတ် underfined စဉ်ဆက်မပြတ်" အမှားကိုရှာဖွေရန်ကြိုးစားနေသည့်အခါစဉ်ဆက်မပြတ်မှန်ကန်စွာသတ်မှတ်ခြင်းရှိမရှိပထမ ဦး ဆုံးအတည်ပြုပါ။ မသတ်မှတ်ပါကသင်အမြဲတမ်းသတ်မှတ်ရန်သတ်မှတ်ခြင်း () function ကိုသုံးနိုင်သည်။ အကယ်. စဉ်ဆက်မပြတ်သည်မှားယွင်းသောနယ်ပယ်တွင်ရှိပါကကမ္ဘာလုံးဆိုင်ရာသော့ချက်စာလုံးမှတဆင့်ကမ္ဘာလုံးဆိုင်ရာအဆက်မပြတ်ဆက်သွယ်နိုင်သည်။ ထို့အပြင်ရှေ့ဆက်များကိုသတ်မှတ်ရန်အမြဲတမ်းအသုံးပြုခြင်းသည်အမှားအယွင်းများကိုကာကွယ်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
ဤဆောင်းပါးတွင်ပြထားတဲ့အချည်းနှီးကိုပေါင်းသင်းခြင်းဖြင့် PHP တွင်ကြုံတွေ့ရသော undefined အဆက်မပြတ်ဆက်သွယ်မှုဆိုင်ရာပြ issues နာများကိုဖြေရှင်းနိုင်ပြီးထိုအမှားများကိုပြ trouble နာများကိုရှောင်ရှားနိုင်သင့်သည်။