PHP Development တွင်ပရိုဂရမ်တစ်ခုပိတ်သည့်အခါ, session_register_shutdown () နှင့် register_shutdown_function () ကိုမကြာခဏဖော်ပြလေ့ရှိသော်လည်း၎င်းတို့၏လုပ်ဆောင်ချက်များ, အသုံးပြုမှုနှင့်သက်ဆိုင်သောအခြေအနေများမှာကွဲပြားခြားနားသည်။ ဤဆောင်းပါးသည်သူတို့၏ကွဲပြားခြားနားမှုများ, ဆက်သွယ်မှုနှင့်လျှောက်လွှာကိုအသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။
၎င်းသည် PHP script ကိုကွပ်မျက်ပြီးနောက်အလိုအလျောက်ခေါ်ဆိုသော PHP မှပေးသော PHP မှပေးသော PHP မှပေးသောဘုံလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သင်ခေါ်ဆိုမှုများစွာကိုမှတ်ပုံတင်နိုင်သည်။ မှတ်ပုံတင်ခြင်းအမိန့်သည်ခေါ်ဆိုမှု၏အမိန့်ကိုဆုံးဖြတ်သည်။
နမူနာကုဒ်:
<?php
register_shutdown_function(function() {
echo "အဆိုပါ script ကိုကွပ်မျက်ခံရသည်,သန့်ရှင်းရေးစစ်ဆင်ရေးလုပ်ဆောင်ပါ。";
});
?>
PHP script ကိုအကောင်အထည်ဖော်သောအခါဤမှတ်ပုံတင်ထားသော callback function သည်ပုံမှန်အားဖြင့်အဆုံးသတ်သည်ဖြစ်စေ,
ဤသည်အထူး session module အတွက်အထူးအသုံးပြုတဲ့ function ကိုဖြစ်ပါတယ်။ PHP အဆုံးတွင် session အချက်အလက်များကိုမှန်ကန်စွာပိတ်ပြီး Session Data ကိုမှန်ကန်စွာပိတ်ပစ်ရန် session data များကိုသက်သာစေရန်မှတ်ပုံတင်ရန်မှတ်ပုံတင်ခြင်း () ကို Internaldress_ShutDown_Function () ကိုအလိုအလျောက်မှတ်ပုံတင်သည်။
PHP 5.4 ပြီးနောက်ဤ function ကို စွန့်ပစ်ခြင်း အဖြစ်မှတ်သားထားပြီး၎င်းကိုဆက်လက်အသုံးပြုရန်မလိုအပ်ပါ။
နမူနာကုဒ်:
<?php
session_start();
session_register_shutdown();
$_SESSION['name'] = 'Zhang San';
?>
ခေါ်ဝေါ်ပြီးပါပြီ, session module သည် script ၏အဆုံးတွင်အစက်အပြောက်လည်ပတ်မှုကိုအလိုအလျောက်လုပ်ဆောင်လိမ့်မည်။
ရှုထောင့် | session_register_shutdown () | register_shutdown_function_rofunction () |
---|---|---|
အလုပ်လုပ်တဲ့ positioning | အထူးသဖြင့် Session အနီးကပ်လုပ်ဆောင်ချက်များကိုအလိုအလျောက်မှတ်ပုံတင်ရန်အသုံးပြုသည် | အထွေထွေ, မည်သည့် script ကိုပိတ်ထားသည့်အချိန်တွင်ခေါ်ဆိုမှုများကိုမှတ်ပုံတင်ခြင်း |
တေးရေး | မှတ်ပုံတင်ခြင်းသည်အလိုအလျှောက် parameters တွေကိုမလိုဘဲအလိုအလျောက်ပြီးစီးသည် | callback function ကိုလွန်ရန်လိုအပ်ပါသည်, parameters တွေကိုလွန်နိုင်ပါတယ် |
အသုံးပြုမှုအကွာအဝေး | သာ session module | scripts များအတွက် untrather closeback |
လိုက်ကြားမှု | PHP 5.4 ကိုစွန့်ပစ်ရန်မလိုအပ်ပါ | ခေတ်သစ် PHP ဗားရှင်းများအတွက်ဘုံထောက်ခံမှု |
အရေးယူမှု၏အချိန် | script ကိုပိတ်ထားသည့်အခါ session data ကိုရေးထားကြောင်းသေချာပါစေ။ | script ကိုပိတ်ထားသည့်အခါအသုံးပြုသူသတ်မှတ်ထားသော callback လုပ်ဆောင်ချက်များကိုခေါ်ဆိုခြင်း |
Session_register_shutdown () သည် Regisner_shutDown_Function () encapsultultultultultultultultultultultultory () သည်အထူးသဖြင့် session data ကို session တစ်ခု၏အဆုံးမှာလုံခြုံစွာရေးသားနိုင်ရန်သေချာစေရန်အထူးအသုံးပြုသည်။ ဤအရာနှစ်ခုစလုံးသည် PHP Execute Louldown Phase တွင်အစပျိုးပြီး script shutdown hook ၏ယန္တရားနှင့်သက်ဆိုင်သည်။
ရိုးရိုးလေးပါ
Session_register_shutdown () = register_shutdown_function () + session ကိုအနီးကပ်ယုတ္တိဗေဒ)
Session_register_shutdown () ကိုအသုံးပြုပါ
logging, သန့်ရှင်းရေးအရင်းအမြစ်များ, database connection များကိုပိတ်ခြင်းနှင့်အခြားလုပ်ဆောင်မှုများကို script ၏အဆုံးတွင်လိုအပ်သည်။
အပြီးသတ်စစ်ဆင်ရေးများသည်ခြွင်းချက်များသို့မဟုတ်ဆိုးဝါးသောအမှားများကိုကိုင်တွယ်ပြီးနောက်လုပ်ဆောင်ခဲ့သည်။
script ကိုပိတ်ထားသည့်အခါကွပ်မျက်ရန်လိုအပ်သောမည်သည့်လုပ်ဆောင်မှုကိုမဆိုစိတ်ကြိုက်ပြုလုပ်ပါ။
ဥပမာ -
<?php
register_shutdown_function(function() {
error_log("script လုပ်ဆောင်မှု၏အဆုံး,မှတ်တမ်းတင်ရန်ရေးပါ");
});
?>
PHP (5.3 နှင့်မတိုင်မီ) ဗားရှင်းဟောင်းများ၏အလိုအလျောက်မှတ်ပုံတင်ခြင်းအစီအစဉ်အတွက်သာသင့်လျော်သည်။
ဗားရှင်းအသစ်ကိုအသုံးပြုရန်မလိုအပ်ပါ။ session_write_close () () သို့မဟုတ် PHP ကိုအလိုအလျောက်ရေးရန်အများအားဖြင့်မှီခိုရန်အကြံပြုသည်။
လုပ်ဆောင်ချက် | အကြံပြုသည် | အဓိကလုပ်ဆောင်ချက်များကို | အသုံးပြုရန်အတွက်အကြံပြုချက်များ |
---|---|---|---|
session_register_shutdown () | မအကြံပြုပါ | Session Mair Callback ကိုအလိုအလျောက်မှတ်ပုံတင်ပါ | ခေတ်သစ်စီမံကိန်းများမှကန့်ကွက်သောဗားရှင်းအဟောင်းများနှင့်လိုက်ဖက်ညီမှုသာအသုံးပြုသည် |
register_shutdown_function_rofunction () | ထောက်ခံ | callback function ကိုပိတ်ရန်မည်သည့် script ကိုမဆိုမှတ်ပုံတင်ပါ | ကျယ်ပြန့်လျှောက်လွှာနယ်ပယ်, ပြောင်းလွယ်ပြင်လွယ်နှင့်တည်ငြိမ် |
ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် session_write_close () ကို တိုက်ရိုက်အသုံးပြုရန်အတွက်တိုက်ရိုက်အသုံးပြုရန်အကြံပြုသည်။ ပိတ်ပွဲအတွင်းအခြားသန့်ရှင်းရေးလုပ်ငန်းအတွက် မှတ်ပုံတင်ခြင်း ,
ကုဒ်တွင် URLs များပါ 0 င်ပါက,
<?php
echo "ဝက်ဘ်ဆိုက်သို့သွားပါ: http://example.com/path";
?>
အစားထိုးသင့်တယ်