PHP ပရိုဂရမ်တွင်ထပ်ခါတလဲလဲလုပ်ဆောင်ချက်၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်အမှားသည်ဘုံပြ problem နာဖြစ်သည်။ ဤအမှားသည်များသောအားဖြင့်ပရိုဂရမ်ကိုပုံမှန်အားဖြင့်ပုံမှန်လုပ်ဆောင်ရန်ပျက်ကွက်သည်။ ဤဆောင်းပါးသည်ထပ်ခါတလဲလဲလုပ်ဆောင်ချက်များကိုအသေးစိတ်ဖော်ပြရန်အကြောင်းပြချက်များကိုအသေးစိတ်ဖော်ပြရန်နှင့် developer များဤပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးလိမ့်မည်။
Duplicate definition ၏ပြ problem နာကိုများသောအားဖြင့်အောက်ပါအခြေအနေနှစ်ခုသို့အသားပြုတ်ကျနိုင်သည်။
ဖိုင်တွဲတစ်ခုတည်းရှိ function များကိုကျွန်ုပ်တို့သတ်မှတ်သည့်အခါ PHP Parser သည် PHP Parser အားအမှားတစ်ခုသတင်းပို့လိမ့်မည်။ ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် "ဆိုးဝါးသောအမှား - မ redeclare test ()" အမှား -
function test () {) ပဲ့တင်သံ "မင်္ဂလာပါ"; } <p>function test () {)<br> ပဲ့တင်သံ "လောက!";<br> }</p> <p>စမ်းသပ်မှု (); // နောက်ဆုံးသတ်မှတ်ထားသော function ကိုဤနေရာတွင်ခေါ်သည်<br>
ဤပြ problem နာကိုဖြေရှင်းရန်ကျွန်ုပ်တို့သည်ထပ်ခါတလဲလဲသတ်မှတ်ထားသောလုပ်ဆောင်ချက်များကိုပယ်ဖျက်ရန်သာလိုအပ်သည်။
function test () {) ပဲ့တင်သံ "လောက!"; } <p>စမ်းသပ်မှု (); // output: "ကမ္ဘာ!"<br>
ကွဲပြားခြားနားသောဖိုင်များတွင်တူညီသောအမည်နှင့်တူညီသောအမည်များနှင့်အတူလုပ်ဆောင်မှုများကိုမိတ်ဆက်ပေးခြင်းသည် device definition အမှားများကိုဖြစ်ပေါ်စေသည်။ ဥပမာအားဖြင့်:
// ဖိုင် 1: Test1.php function test () {) ပဲ့တင်သံ "မင်္ဂလာပါ"; } <p>// ဖိုင် 2: Test2.php<br> function test () {)<br> ပဲ့တင်သံ "လောက!";<br> }</p> <p>// ပင်မဖိုင်: Main.php<br> 'test1.php' ပါဝင်သည်;<br> 'test2.php' ပါဝင်သည်;</p> <p>စမ်းသပ်မှု (); // output: "ကမ္ဘာ!"<br>
ဤအခြေအနေသည် "ဆိုးဝါးသောအမှား" လည်းဖြစ်စေနိုင်သည်။ ဤအရာကိုရှောင်ရှားရန် Subplicate definitions များကိုတားဆီးရန် function ကိုမသတ်မှတ်မီ PHP ၏ function checking ယန္တရားကိုသုံးနိုင်သည်။ အသုံးများသောနည်းလမ်းမှာ function_exists () function ကိုအသုံးပြုရန်ဖြစ်သည်။
// ဖိုင် 1: Test1.php လျှင် (! function_exists ('Test')) function test () {) ပဲ့တင်သံ "မင်္ဂလာပါ"; } } <p>// ဖိုင် 2: Test2.php<br> လျှင် (! function_exists ('Test'))<br> function test () {)<br> ပဲ့တင်သံ "လောက!";<br> }<br> }</p> <p>// ပင်မဖိုင်: Main.php<br> 'test1.php' ပါဝင်သည်;<br> 'test2.php' ပါဝင်သည်;</p> <p>စမ်းသပ်မှု (); // output: "မင်္ဂလာပါ,"<br>
function ကိုဖိုင်ကိုမိတ်ဆက်ခြင်းမပြုမီသတ်မှတ်ခြင်းရှိမရှိစစ်ဆေးခြင်းအားဖြင့် function ကိုထပ်ခါတလဲလဲသတ်မှတ်ခြင်း၏ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
PHP function name ၏ထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုဖြေရှင်းရန်သော့ချက်မှာ - ပထမ ဦး စွာဖိုင်တွင်တူညီသော function များကိုထပ်ခါတလဲလဲသတ်မှတ်ခြင်းကိုရှောင်ကြဉ်ပါ။ ဒုတိယအချက်မှာ function_exists () function ကိုသုံးပါ။ ဤနည်းလမ်းများမှတစ်ဆင့် developer များကပရိုဂရမ်၏တည်ငြိမ်မှုကိုသေချာစေရန်နှင့်ထပ်ခါတလဲလဲအဓိပ္ပာယ်ကြောင့်ဖြစ်ရတဲ့အမှားအယွင်းများကိုရှောင်ရှားနိုင်သည်။