PHP Development တွင်တည်ဆောက်ခြင်းတွင်အရင်းအမြစ်များကိုထုတ်ပြန်ခြင်းသည်အစီအစဉ်တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုသေချာစေရန်အဓိကချိတ်ဆက်မှုတစ်ခုဖြစ်သည်။ အထူးသဖြင့်ဇာတ်ညွှန်းဆက်သွယ်မှုများ, ဖိုင်တွဲများနှင့်အခြားအရင်းအမြစ်များကိုစနစ်တကျပိတ်ထားသည့်အခါမှတ်ဥာဏ်ယိုစိမ့်မှုနှင့်အခြားအလားအလာပြ problems နာများကိုရှောင်ရှားနိုင်သည့် Database ဆက်သွယ်မှုများကိုလည်းစနစ်တကျပိတ်ထားခြင်းဖြစ်သည်။ ဤဆောင်းပါးသည် PHP built-in function register_shutdown_roup_rofunction ကို ဖြည့်ဆည်းပေးမည်။
Register_shutDown_Function က PHP မှပေးသော function တစ်ခုဖြစ်ပြီး script execution အဆုံးတွင်အလိုအလျောက်ခေါ်ဆိုသည့် callback function ကိုမှတ်ပုံတင်ရန်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အမှားတစ်ခုကြောင့်ဇာတ်ညွှန်းသည်ပုံမှန်အားဖြင့်အဆုံးသတ်သည်ဖြစ်စေ,
<?php
// ပိတ်ပွဲအပေါ်ကွပ်မျက်ခံရ callback function ကိုမှတ်ပုံတင်ပါ
register_shutdown_function(function() {
echo "script လုပ်ဆောင်မှု၏အဆုံး,အရင်းအမြစ်များကိုဖြန့်ချိစတင်ပါ。\n";
});
?>
ဒေတာဘေ့စ်ဆက်သွယ်မှုများ, ဖိုင်လက်ကိုင်များ,
ဆာဗာအရင်းအမြစ်သုံးစွဲမှုတိုးလာခြင်းသည်စွမ်းဆောင်ရည်အပေါ်သက်ရောက်မှုရှိသည်။
ရှည်လျားသောပြေး scripts များသည်မှတ်ဉာဏ်ပေါက်ကြားမှုများကိုတွေ့ကြုံခံစားနိုင်သည်။
ထိုကဲ့သို့သောအရင်းအမြစ်ပြိုင်ပွဲနှင့်အကျပ်အတည်းကဲ့သို့သောခြွင်းချက်အခြေအနေများ။
ထို့ကြောင့်သက်ဆိုင်ရာအရင်းအမြစ်များကိုဇာတ်ညွှန်း၏အဆုံးတွင်အတိအလင်းထုတ်ဖော်ပြောဆိုရန်အကြံပြုသည်။
MySQLI ကို ဒေတာဘေ့စ်လုပ်ငန်းများအတွက်အသုံးပြုသည်ဆိုပါစို့။
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// မှတ်ပုံတင်ခြင်းဇာတ်ညွှန်း၏အဆုံးတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပိတ်ပါ
register_shutdown_function(function() use ($mysqli) {
if ($mysqli->ping()) {
$mysqli->close();
echo "ဒေတာဘေ့စ်ဆက်သွယ်မှုပိတ်ထားသည်。\n";
}
});
// အချို့သောမေးမြန်းချက်များကို execute
$result = $mysqli->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
print_r($row);
}
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် database connection ကိုဇာတ်ညွှန်း၏အဆုံးတွင်ပိတ်ပြီးအရင်းအမြစ်စွန့်ပစ်ပစ္စည်းများကိုရှောင်ရှားရန် Regisn_shutDown_Function မှတစ်ဆင့်ခေါ်ဆိုမှု function ကိုမှတ်ပုံတင်ရန်မှတ်ပုံတင်ခြင်း။
ရှုပ်ထွေးသော script များအရခြွင်းချက်များသို့မဟုတ်ဆိုးဝါးသောအမှားများဖြစ်ပေါ်နိုင်သည်။ Register_shutDown_Function က မူသယံဇာတများထုတ်ပြန်ခြင်းနှင့်ကွပ်မျက်မှုသေချာစေရန်ဤကဲ့သို့သောအခြေအနေမျိုးကိုဖမ်းယူနိုင်သည်။
<?php
$fp = fopen("log.txt", "a");
// အနီးကပ် function ကိုမှတ်ပုံတင်ပါ,ဖိုင်လက်ကိုင်ကိုလွှတ်လိုက်ပါ
register_shutdown_function(function() use ($fp) {
if (is_resource($fp)) {
fclose($fp);
echo "ဖိုင်လက်ကိုင်ပိတ်ထားသည်。\n";
}
});
// ခြွင်းချက်များ Simulate
throw new Exception("Script လုပ်ဆောင်မှုချွင်းချက်!");
?>
ခြွင်းချက်တစ်ခုကြောင့် script ကိုပြတ်တောက်သွားလျှင်ပင်ဖိုင်အရင်းအမြစ်များကိုထုတ်လွှတ်ကြောင်းသေချာစေရန်ပိတ်ခြင်း function ကိုခေါ် ဦး မည်ဖြစ်သည်။
Register_shutDown_Function_FUNTRICTRICTRICTRICTRICTRICTRICTICRICTIC က PHP script execution ရဲ့အဆုံးမှာ callback function တွေကိုကွပ်မျက်ဖို့အစွမ်းထက်တဲ့ကိရိယာတခုဖြစ်တယ်။
ပုံမှန်မဟုတ်သောသို့မဟုတ်ပုံမှန်မဟုတ်သောအခြေအနေများတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုများ, ဖိုင်လက်ကိုင်များစသည်တို့ကဲ့သို့သောအရင်းအမြစ်များကိုဖြန့်ချိစေသည်။
အမည်မသိလုပ်ဆောင်ချက်များနှင့်ပိတ်ခြင်းများကိုပေါင်းစပ်ခြင်း, အရင်းအမြစ်စီမံခန့်ခွဲမှုယုတ္တိဗေဒကိုအတိအကျအကောင်အထည်ဖော်နိုင်သည်။
ပြင်ပအရင်းအမြစ်စစ်ဆင်ရေးများပါ 0 င်သည့် PHP scripts အားလုံးသည်ဤယန္တရားကိုအရင်းအမြစ်ပြန်လည်အသုံးပြုမှုအတွက်ဤယန္တရားကိုအသုံးပြုရန်အကြံပြုသည်။