PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အမှားအယွင်းများကို "အသင်း 0 င် function ကိုခေါ်ယူရန်" သို့မဟုတ် "အရာဝတ်ထုမဟုတ်သောနည်းလမ်းဟုခေါ်ဆိုရန်" ဤအမှားအယွင်းသည်များသောအားဖြင့်သင်အောင်မြင်စွာချက်ချင်းမပေးနိုင်သည့်အရာဝတ်ထုတစ်ခုတွင်နည်းလမ်းတစ်ခုသို့ခေါ်ဆိုရန်ကြိုးစားနေခြင်းဖြစ်သည်။ ဆိုလိုသည်မှာ variable သည်အမှန်တကယ်အရာဝတ်ထုတစ်ခုမဟုတ်ပါ။
ဤပြ problem နာကိုနားလည်ရန်ကျွန်ုပ်တို့သည်ရှင်းရှင်းလင်းလင်းဖြစ်ရန်လိုအပ်သည် - PHP တွင်အရာဝတ်ထုအမျိုးအစားများကို variable များသာခေါ်ဆိုနိုင်သည်။ အကယ်. သင်သည်အရာဝတ်ထုမဟုတ်သော variable ကို (Null သို့မဟုတ် string ကဲ့သို့သော) တွင်နည်းလမ်းတစ်ခုကိုသင်ခေါ်ဆိုပါကစနစ်သည်အလားတူအမှားတစ်ခုဖြစ်စေသည်။
ဤတွင်ထိုကဲ့သို့သောအမှားများကို ဦး တည်စေသောအဓိကအကြောင်းနှစ်ခုရှိသည်။
ကျွန်ုပ်တို့၏ကုဒ်ထဲမှအရာဝတ်ထုတစ်ခု၏နည်းလမ်းကိုအသုံးပြုရန်ကြိုးစားသောအခါအရာဝတ်ထုကိုမှန်ကန်စွာဖန်တီးထားကြောင်းသေချာအောင်လုပ်ရမည်။ အကယ်. Class File ကိုမှန်ကန်စွာမိတ်ဆက်မထားပါက Namespace သည်မမှန်ကန်ပါက,
ဖြေရှင်းချက်များပါဝင်သည်:
class Foo {
// ဆောက်လုပ်ရေးအတွက် syntax အမှားမရှိပါ
public function __construct() {
echo 'Hello, World!';
}
}
// မှားယွင်းသောအသုံးပြုမှု:ချက်ချင်းခေါ်ဆိုမှုနည်းလမ်း
Foo::bar(); // Fatal error
// အသုံးပြုမှုမှန်ကန်သော:အရာဝတ်ထုကိုပထမ ဦး ဆုံး
$foo = new Foo();
$foo->bar(); // Fatal error: undefined နည်းလမ်း bar()
နောက်ထပ်ဘုံပြ problem နာတစ်ခုမှာအရာဝတ်ထု variable ကို code execution စဉ်အတွင်း NELLAIDE ကိုသတ်မှတ်ရန်သို့မဟုတ်အခြားအရာဝတ်ထုမဟုတ်သောအခြားအရာဝတ်ထုမဟုတ်သောအမျိုးအစားများကိုမှားယွင်းစွာသတ်မှတ်ရန်,
ဖြေရှင်းချက် -
class Foo {
public function bar() {
echo 'Hello, World!';
}
}
// အမှားဥပမာ:အရာဝတ်ထုကိုသတ်မှတ်ထားသည် null
$foo = null;
$foo->bar(); // Fatal error: Call to a member function bar() on null
// မှန်ကန်သောဥပမာ:အရာဝတ်ထုကိုပထမ ဦး ဆုံး
$foo = new Foo();
$foo->bar(); // ထုတ်လုပ်ခြင်း Hello, World!
PHP တွင်အမှားအယွင်းရှိသောအမှားများကို "အရာဝတ်ထုမဟုတ်သောနည်းလမ်း" အမှားသည်မှားယွင်းစွာအကောင်အထည်ဖော်ရန်မှားယွင်းစွာတာ 0 န်ယူမှုရှိသည့်အရာဝတ်ထု variable များကိုမှားယွင်းစွာတာ 0 န်ယူခဲ့သည်။ ကျိုးကြောင်းဆီလျော်သောအရာဝတ်ထုဆိုင်ရာအစုတ္တိဗေဒဆိုင်ရာယုတ္တိဗေဒနှင့်တိကျခိုင်မာစွာမြင်နိုင်သောစစ်ဆေးရေးယန္တရားအားဖြင့်ထိုကဲ့သို့သောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီး Code အရည်အသွေးနှင့်ကြံ့ခိုင်မှုကိုတိုးတက်စေနိုင်သည်။