လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ဖိုင်ကိုမိတ်ဆက်သောအခါထွက်ပေါက် function ကိုမတော်တဆဖြစ်ပေါ်လာခြင်းကြောင့်ဖြစ်ပေါ်လာသောအနှောင့်အယှက်မဖြစ်စေရန်မည်သို့ကာကွယ်နိုင်သနည်း။

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

gitbox 2025-09-18

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

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် ပါဝင်စဉ်အတွင်း သို့မဟုတ် လိုအပ်သော သို့မဟုတ်လိုအပ်သောပြင်ပဖိုင်များကိုမိတ်ဆက်ရန်အသုံးပြုသည်။ ဤဖိုင်များတွင်ကုဒ်များကို စုစည်း. စီမံခန့်ခွဲခြင်းနှင့်စီမံခန့်ခွဲမှုများကိုထိရောက်စွာကူညီနိုင်သည့်လုပ်ငန်းဆောင်တာများ, အတန်းများ, သို့သော်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်လှည့်စားမှုပြ problem နာကိုကြုံတွေ့ရနိုင်သည်။ ဖိုင်တစ်ခုတွင်မိတ်ဆက်သောအခါ ထွက်ပေါက် () function ကိုလုပ်ဆောင်ခြင်းသည်ပရိုဂရမ်တစ်ခုလုံးကိုချိုးဖောက်ခြင်းဖြစ်စေသည်။ ဤအရာကိုဖြစ်ပျက်ခြင်းမှကာကွယ်ရန်အတွက်ကျွန်ုပ်တို့၏ကုဒ်ကိုအမှတ်မထင်အားဖြင့်ကြားဖြတ်ခြင်းမှကာကွယ်ရန်ထိရောက်သောဆောင်ရွက်မှုများလိုအပ်သည်။

1 ။ ထွက်ပေါက် () function ကိုနားလည်ပါ

ထွက်ပေါက် () function ကိုလက်ရှိ script ၏ကွပ်မျက်မှုကိုရပ်ဆိုင်းရန်နှင့် status code code code သို့မဟုတ် string ကို parameter သည်အဖြစ်ဖြတ်သန်းနိုင်ပါတယ်။ ပုံမှန်အားဖြင့်၎င်းသည် status code 0 ကို 0 င်စေပြီး script သည်ပုံမှန်ရပ်စဲကြောင်းဖော်ပြသည်။ အကယ်. သုည Non-Non-Non-Non-string ကိုမကုန်နိုင်ပါက၎င်းကို operating system သို့မဟုတ် script ဟုခေါ်သောပြင်ပပရိုဂရမ်များသို့ရပ်စဲသည့်အဆင့်အတန်းကုဒ်အဖြစ်သို့ပြန်ပို့လိမ့်မည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-keyword">exit</span></span><span>(); </span><span><span class="hljs-comment">// ပုံမှန်ရပ်စဲ,Reward status ကုဒ်နံပါတ် 0</span></span><span>
</span><span><span class="hljs-keyword">exit</span></span><span>(</span><span><span class="hljs-string">'Error occurred'</span></span><span>); </span><span><span class="hljs-comment">// အမှားမက်ဆေ့ခ်ျနှင့်အတူရပ်စဲ</span></span><span>
</span></span>

PHP ဖိုင်ကိုကွပ်မျက်ခံရပါက ထွက်ပေါက် () ကိုခေါ်ပါက, လက်ရှိဇာတ်ညွှန်းကိုချက်ချင်းပြတ်တောက်သွားလိမ့်မည်။ ဤဖိုင်ကိုအခြားဖိုင်များမှတစ်ဆင့် ထည့် သွင်းခြင်း (သို့) လိုအပ်သည် ဆိုပါက ထွက်ပေါက် () တွင်ပါ 0 င်သောဖိုင်၏အခြေအနေတွင်ကွပ်မျက်ခံရလိမ့်မည်။

(2) ဖိုင်များကိုမိတ်ဆက်သောအခါ executing မှ ထွက်ပေါက် () ကို ကာကွယ်ခြင်း

4 င်း၏ထွက်ပေါက် () function ကို function ကိုဖြစ်ပေါ်စေသော function ကိုအတင်းအကျပ်မပြုလုပ်ရန်ဖိုင်တစ်ခုကိုမိတ်ဆက်သောအခါအောက်ပါနည်းလမ်းများကိုယူနိုင်သည်။

(1) ထွက်ပေါက် () function ကိုသတ်သတ်မှတ်မှတ်အခြေအနေသို့ထည့်ပါ

ယေဘုယျအားဖြင့်ပြောရလျှင် ထွက်ရန်ခေါ်ဆိုမှု () ကို သတ်သတ်မှတ်မှတ်စီးပွားရေးယုတ္တိဗေဒမှအစပျိုးသင့်သည်။ ထို့ကြောင့်ဖိုင်များကိုမိတ်ဆက်သောအခါ ထွက်ရန်ခေါ်ဆိုမှု () ကိုမလိုအပ်သောကွပ်မျက်ခြင်းကိုရှောင်ရှားရန်သင့်လျော်သောခြွင်းချက်ဖော်ပြချက်များ၌ထားသင့်သည်။ အသုံးအများဆုံးအလေ့အကျင့်မှာ ထွက်ပေါက် () ကိုသတ်သတ်မှတ်မှတ်ပတ်ဝန်းကျင်တွင်သာအစပျိုးရန်သေချာစေရန်ဆုံးဖြတ်ချက်ချသည့်အခြေအနေများကိုထည့်သွင်းရန်ဖြစ်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-comment">// ဒီ configuration ဖိုင်ဖြစ်ပါတယ်ယူဆ,ပါဝင် exit() လုပ်ဆောင်ချက်</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">defined</span></span><span>(</span><span><span class="hljs-string">'ALLOW_EXIT'</span></span><span>)) {
    </span><span><span class="hljs-keyword">exit</span></span><span>(</span><span><span class="hljs-string">'Script has been terminated.'</span></span><span>);
}
</span></span>

ဤကိစ္စတွင် Exit () သည် အမြဲတမ်း ခွင့်ပြုမှု undefined လျှင်သာလုပ်ဆောင်သွားမည်ဖြစ်သည်။ အကယ်. ခွင့်ပြုမှုကို ဖိုင်ကိုမိတ်ဆက်ခြင်းမပြုမီသတ်မှတ်ထားပါက ထွက်ပေါက် () ကိုအစပျိုးမည်မဟုတ်ပါ။

(2) Exit () ယုတ္တိဗေဒကို Encapsatfulate လုပ်ရန်လုပ်ဆောင်ချက်များကိုအသုံးပြုပါ

ထွက်ပေါက် () ထွက်ပေါက် ၏ယုတ္တိဗေဒကို encapsuling encapled function ကိုလွတ်လပ်သောလုပ်ဆောင်မှုတစ်ခုအဖြစ်သတ်မှတ်ပြီး Exit () ဟုခေါ်သော နေရာကိုခေါ်ယူခြင်းကိုထိရောက်စွာလုပ်ဆောင်ခြင်းကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-comment">// 在退出时封装一个退出လုပ်ဆောင်ချက်</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">safe_exit</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$message</span></span></span><span> = </span><span><span class="hljs-string">''</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">some_condition</span></span><span>()) {
        </span><span><span class="hljs-keyword">exit</span></span><span>(</span><span><span class="hljs-variable">$message</span></span><span>);
    }
}
</span></span>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် Safe_exit () ကို တိုက်ရိုက်ခေါ်ဆိုနိုင်သည့်တိုက်ရိုက်ခေါ်ဆိုနိုင်ပြီး, အချို့သော function () function ကိုမှထွက်ရန်မည်သည့်နေရာမှထွက်ရန်ကိုကျွန်ုပ်တို့ထိန်းချုပ်နိုင်သည်။

(3) Exit () ကို အများပြည်သူသုံးဖိုင်များဖြင့်တိုက်ရိုက်ရှောင်ရှားပါ

PHP စီမံကိန်းများအရ header files များ, database configuration files များ, Tools ဖိုင်များစသည်တို့ကဲ့သို့သောအများပြည်သူသုံးဖိုင်များရှိသည်။ ဤဖိုင်များသည် ထွက်ပေါက် () တိုက်ရိုက်ခေါ်ဆိုခြင်း အကယ်. ထွက်ပေါက် () သည်သီးခြားစီးပွားရေးယုတ္တိဗေဒအတွက်သာလိုအပ်ပါက ထွက်ပေါက် ယုတ္တိဗေဒကိုလုပ်ဆောင်ချက်များကိုသို့မဟုတ်နည်းလမ်းများမှတဆင့်ထိန်းချုပ်နိုင်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-comment">// ပုံမှန်အခြေအနေများအောက်မှာ,အများပြည်သူဖိုင်များတွင်အသုံးမပြုပါ exit()</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">terminate_script</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$message</span></span></span><span>) {
    </span><span><span class="hljs-keyword">exit</span></span><span>(</span><span><span class="hljs-variable">$message</span></span><span>);
}
</span></span>

(4) ဖိုင်များကိုမိတ်ဆက်သောအခါချွင်းချက်များသို့မဟုတ်အမှားများကိုဖမ်းပါ

PHP ၏အမှားကိုင်တွယ်သည့်ယန္တရားအားဖြင့်ချွင်းချက်များနှင့်အမှားများကိုဖမ်းမိနိုင်ပြီး ထွက်ပေါက်၏ကွပ်မျက်မှု () ကွပ်မျက်မှု () ကွပ်မျက်မှု () ကွပ်မျက်မှု () ကွပ်မျက်မှုသည်အဓိကအစီအစဉ်၏လုပ်ဆောင်မှုကိုထိခိုက်စေနိုင်သည်။ Set_ERROR_HANDLER () နှင့် set_exception_Handler ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-title function_ invoke__">set_error_handler</span></span><span>(function(</span><span><span class="hljs-variable">$errno</span></span><span>, </span><span><span class="hljs-variable">$errstr</span></span><span>) {
    </span><span><span class="hljs-comment">// အမှားများကိုကိုင်တွယ်,တိုက်ရိုက်ကွပ်မျက်ခြင်းကိုရှောင်ပါ exit</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"An error occurred: <span class="hljs-subst">$errstr</span></span></span><span>";
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>;
});
</span></span>

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

3 ။ ဖိုင်တင်သွင်းသည့်အခါ buffers ကိုသုံးပါ

PHP သည်အစီအစဉ်ကိုအကောင်အထည်ဖော်ပြီးနောက် output content နှင့် output ကိုယာယီသိမ်းဆည်းနိုင်သည့် output buffer (output buffering) function ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်ဖိုင်ကိုအတိုင်းအတာတစ်ခုအထိမိတ်ဆက်သောအခါ အကြားရှိထွက်ပေါက် () အနှောင့်အယှက်မဖြစ်စေရန်တားဆီးနိုင်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>();
</span><span><span class="hljs-keyword">include</span></span><span> </span><span><span class="hljs-string">'some_file.php'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">ob_end_flush</span></span><span>();
</span></span>

ob_start () buffer ကိုစတင်ပြီး Buffer ကိုစတင်သည်။ ဖိုင်ရှိ output abde ကိုယာယီသိမ်းဆည်းလိမ့်မည်။ ထွက်ပေါက် () ဖိုင်ကိုမိတ်ဆက်ချိန်တွင်ပင်ဖြစ်လျှင်ပင် output content ကိုချက်ချင်း browser သို့ချက်ချင်းမပို့ပါ,

4 ။ Exit () တတိယပါတီစာကြည့်တိုက်များနှင့်မူဘောင်များတွင်ထွက်ပေါက် () ကိုစစ်ဆေးပါ

Third-party libraries သို့မဟုတ်မူဘောင်များကိုအသုံးပြုသောအခါ၎င်းတို့ ထွက်ပေါက် () အများပြည်သူဖိုင်များတွင်သူတို့ထွက်ပေါက် () ဟုခေါ်ဆိုခြင်းရှိမရှိအထူးဂရုပြုရန်လိုအပ်သည်။ အချို့သောမူဘောင်များသို့မဟုတ်စာကြည့်တိုက်များသည် Exit () ကိုအဆုံးသတ်ရန်ထွက်ပေါက် () ကို တိုက်ရိုက်ခေါ်ဆိုပါလိမ့်မည်။ ၎င်းသည်ကျွန်ုပ်တို့၏လျှောက်လွှာကိုအကျိုးသက်ရောက်နိုင်သည်။

ဤအရာကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်ပရိုဂရမ်ကွပ်မျက်ခြင်းကိုမတော်တဆတားမြစ်ခြင်းမပြုရန်သူတို့ကိုမိတ်ဆက်သောအခါတတိယပါတီဖိုင်များကိုစစ်ဆေး။ လိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်နိုင်သည်။ အကယ်. သင်သည် ထွက်ပေါက် () ကို မူဘောင်သို့မဟုတ်စာကြည့်တိုက်တွင်မကြာခဏခေါ်ယူလျှင်, ဤစာကြည့်တိုက်များ၏ source code ကိုပြုပြင်ရန်သို့မဟုတ်တိုးတက်မှုအတွက် developer ကိုဆက်သွယ်ရန်စဉ်းစားနိုင်သည်။

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

PHP ဖိုင်များကိုအထူးသဖြင့်ကြီးမားသော applications များ၌အထူးသဖြင့် PHP ဖိုင်များကိုမိတ်ဆက်သောအခါ ထွက်ပေါက် () function ကိုမတော်တဆဖြစ်ပေါ်စေသည့်အတွက်အရေးကြီးသည်ကိုရှောင်ရှားရန်အရေးကြီးသည်။ Exit () အလှည့်ကျဆုံးဖြတ်ချက်ချခြင်းဖြင့်၎င်းကိုလုပ်ဆောင်မှုကိုင်တွယ်ခြင်းယန္တရားများကို အသုံးပြု. output function buffers များကို အသုံးပြု. output buffer များကိုအသုံးပြုခြင်းကိုထိရောက်စွာတားဆီးနိုင်သည်။