လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP function name ၏ထပ်ခါတလဲလဲ definition ၏ပြ problem နာကိုဖြေရှင်းပါ - အကြောင်းရင်းများနှင့်ဖြေရှင်းနည်းများ

PHP function name ၏ထပ်ခါတလဲလဲ definition ၏ပြ problem နာကိုဖြေရှင်းပါ - အကြောင်းရင်းများနှင့်ဖြေရှင်းနည်းများ

M66 2025-06-20

PHP အမှားပြ problem နာကိုဖြေရှင်းပါ။

PHP ပရိုဂရမ်တွင်ထပ်ခါတလဲလဲလုပ်ဆောင်ချက်၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်အမှားသည်ဘုံပြ problem နာဖြစ်သည်။ ဤအမှားသည်များသောအားဖြင့်ပရိုဂရမ်ကိုပုံမှန်အားဖြင့်ပုံမှန်လုပ်ဆောင်ရန်ပျက်ကွက်သည်။ ဤဆောင်းပါးသည်ထပ်ခါတလဲလဲလုပ်ဆောင်ချက်များကိုအသေးစိတ်ဖော်ပြရန်အကြောင်းပြချက်များကိုအသေးစိတ်ဖော်ပြရန်နှင့် developer များဤပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးလိမ့်မည်။

function name များ၏အဓိပ္ပါယ်ဖွင့်ဆိုရသည့်အကြောင်းရင်းများ

Duplicate definition ၏ပြ problem နာကိုများသောအားဖြင့်အောက်ပါအခြေအနေနှစ်ခုသို့အသားပြုတ်ကျနိုင်သည်။

  • တူညီသောဖိုင်တွင် function ကိုအဓိပ္ပါယ်ဖွင့်ပါ
  • ကွဲပြားခြားနားသောဖိုင်များအတွက်တင်သွင်းပြီးနောက် function ကို different ကိုပြန်လုပ်ပါ

ဖြေရှင်းချက် 1 - ဖိုင်တွဲတွင်လုပ်ဆောင်ချက်များကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုပြန်လုပ်ပါ

ဖိုင်တွဲတစ်ခုတည်းရှိ function များကိုကျွန်ုပ်တို့သတ်မှတ်သည့်အခါ PHP Parser သည် PHP Parser အားအမှားတစ်ခုသတင်းပို့လိမ့်မည်။ ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် "ဆိုးဝါးသောအမှား - မ redeclare test ()" အမှား -

function test () {)
    ပဲ့တင်သံ "မင်္ဂလာပါ";
}
<p>function test () {)<br>
ပဲ့တင်သံ "လောက!";<br>
}</p>
<p>စမ်းသပ်မှု (); // နောက်ဆုံးသတ်မှတ်ထားသော function ကိုဤနေရာတွင်ခေါ်သည်<br>

ဤပြ problem နာကိုဖြေရှင်းရန်ကျွန်ုပ်တို့သည်ထပ်ခါတလဲလဲသတ်မှတ်ထားသောလုပ်ဆောင်ချက်များကိုပယ်ဖျက်ရန်သာလိုအပ်သည်။

function test () {)
    ပဲ့တင်သံ "လောက!";
}
<p>စမ်းသပ်မှု (); // output: "ကမ္ဘာ!"<br>

Solution 2: ကွဲပြားခြားနားသောဖိုင်များသို့မိတ်ဆက်ပြီးနောက် function ကိုပြန်လုပ်ပါ

ကွဲပြားခြားနားသောဖိုင်များတွင်တူညီသောအမည်နှင့်တူညီသောအမည်များနှင့်အတူလုပ်ဆောင်မှုများကိုမိတ်ဆက်ပေးခြင်းသည် device definition အမှားများကိုဖြစ်ပေါ်စေသည်။ ဥပမာအားဖြင့်:

// ဖိုင် 1: Test1.php
function test () {)
    ပဲ့တင်သံ "မင်္ဂလာပါ";
}
<p>// ဖိုင် 2: Test2.php<br>
function test () {)<br>
ပဲ့တင်သံ "လောက!";<br>
}</p>
<p>// ပင်မဖိုင်: Main.php<br>
&#39;test1.php&#39; ပါဝင်သည်;<br>
&#39;test2.php&#39; ပါဝင်သည်;</p>
<p>စမ်းသပ်မှု (); // output: "ကမ္ဘာ!"<br>

ဤအခြေအနေသည် "ဆိုးဝါးသောအမှား" လည်းဖြစ်စေနိုင်သည်။ ဤအရာကိုရှောင်ရှားရန် Subplicate definitions များကိုတားဆီးရန် function ကိုမသတ်မှတ်မီ PHP ၏ function checking ယန္တရားကိုသုံးနိုင်သည်။ အသုံးများသောနည်းလမ်းမှာ function_exists () function ကိုအသုံးပြုရန်ဖြစ်သည်။

// ဖိုင် 1: Test1.php
လျှင် (! function_exists (&#39;Test&#39;))
    function test () {)
        ပဲ့တင်သံ "မင်္ဂလာပါ";
    }
}
<p>// ဖိုင် 2: Test2.php<br>
လျှင် (! function_exists (&#39;Test&#39;))<br>
function test () {)<br>
ပဲ့တင်သံ "လောက!";<br>
}<br>
}</p>
<p>// ပင်မဖိုင်: Main.php<br>
&#39;test1.php&#39; ပါဝင်သည်;<br>
&#39;test2.php&#39; ပါဝင်သည်;</p>
<p>စမ်းသပ်မှု (); // output: "မင်္ဂလာပါ,"<br>

function ကိုဖိုင်ကိုမိတ်ဆက်ခြင်းမပြုမီသတ်မှတ်ခြင်းရှိမရှိစစ်ဆေးခြင်းအားဖြင့် function ကိုထပ်ခါတလဲလဲသတ်မှတ်ခြင်း၏ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

အကျဉ်းချုပ်

PHP function name ၏ထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုဖြေရှင်းရန်သော့ချက်မှာ - ပထမ ဦး စွာဖိုင်တွင်တူညီသော function များကိုထပ်ခါတလဲလဲသတ်မှတ်ခြင်းကိုရှောင်ကြဉ်ပါ။ ဒုတိယအချက်မှာ function_exists () function ကိုသုံးပါ။ ဤနည်းလမ်းများမှတစ်ဆင့် developer များကပရိုဂရမ်၏တည်ငြိမ်မှုကိုသေချာစေရန်နှင့်ထပ်ခါတလဲလဲအဓိပ္ပာယ်ကြောင့်ဖြစ်ရတဲ့အမှားအယွင်းများကိုရှောင်ရှားနိုင်သည်။