PHP ၏ session processing ယန္တရားတွင် Session_register_shutdown () သည်အတော်လေးထူးခြားသော်လည်းအရေးကြီးသောလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်း၏အဓိကလုပ်ဆောင်ချက်မှာ connatback function ကိုမှတ်ပုံတင်ရန်ဖြစ်သည်။ session data များအားလုံးကို Exciscution မတိုင်မီမှန်ကန်စွာရေးသားခြင်းကိုမှန်ကန်စွာရေးသားပြီးပိတ်ထားရန်ဖြစ်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှု၏အပြုအမူကိုကွဲပြားသော PHP ဗားရှင်းများတွင်ကွဲပြားခြားနားသောကွဲပြားခြားနားသော PHP ဗားရှင်းများဖြင့်လေ့လာသုံးသပ်ပြီး၎င်း၏အသုံးပြုမှုအခြေအနေများနှင့်ပါ 0 င်သော PHP ဗားရှင်းဟောင်းများတွင်ခွဲခြမ်းစိတ်ဖြာခြင်း။
Session_register_shutdown () သည်အသုံးပြုသူသတ်မှတ်ထားသော callback function မဟုတ်ဘဲ PPP မှအသုံးပြုသောယန္တရားတစ်ခုမှာ session_write_close () ကို အလိုအလျောက်ကိုင်တွယ်ရန်အသုံးပြုသောယန္တရားတစ်ခု။ များသောအားဖြင့် PHP သည် script ူမန်မိာိုံင်ငံအဆုံးတွင် PHP သည် script _write_close () ကို အလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။
PHP 5 စီးရီးတွင် session_register_shutdown () သည်ကျယ်ပြန့်သောမှတ်တမ်းတင်ထားသော API မဟုတ်ပါ, သို့သော်ပြည်တွင်းရေးယန္တရား၏အစိတ်အပိုင်းတစ်ခုမဟုတ်ပါ။ ဤကာလအတွင်း PHP သည် Register_shutDown_Fack_Fackction () ကို အသုံးပြုလိုသည်။
register_shutdown_function('session_write_close');
developer များသည်များသောအားဖြင့်သက်ဆိုင်ရာမှတ်ပုံတင်ခြင်းလုပ်ငန်းကိုအလိုအလျောက်ဖြည့်စွက်ရန် session_register_shutdown_shutdown_shutdown_shutdown () ကို တိုက်ရိုက်မခေါ်ပါ။ session processing ယန္တရားသည် Modular မရှိသေးပါက Session_register_shutdown () သည် ဗားရှင်းအဟောင်းတွင် ပို. ထင်ရှားသည်။
PHP 7ST ကို 0 င်ရောက်သောအခါ PHP Core အဖွဲ့သည် Session စီမံခန့်ခွဲမှုယန္တရားအတွက်တိုးတက်မှုအချို့ကိုပြုလုပ်ခဲ့သည်။ session_register_shutdown () သည်အများပြည်သူအတွက် API ဖြစ်လာပြီး developer များက session shutdown လုပ်ခြင်းဆိုင်ရာယုတ္တိဗေဒကိုအစပျိုးရန်သေချာစေရန် developer များက၎င်းကိုပြုလုပ်နိုင်သည်။ ဤ၏အားသာချက်မှာ session lifecycle ကိုပိုမိုရှင်းလင်းစွာထိန်းချုပ်နိုင်သည်,
session_start();
session_register_shutdown();
// စီးပွားရေးယုတ္တိဗေဒအပြောင်းအလဲနဲ့
ထို့အပြင် PHP 7 သည် session_register_shutdown () ကိုပိုမိုတည်ငြိမ်ပြီးတသမတ်တည်းသော session_register_shutdown () ကို ပိုမိုတည်ငြိမ်ပြီးတသမတ်တည်းသောအပြုအမူများကိုပြုလုပ်သော session module ၏ plusule ကိုတိုးတက်စေသည်။
PHP 8 နှင့်နောက်ဆက်တွဲဗားရှင်းများတွင် session_register_shutdown ၏အပြုအမူ () ၏အပြုအမူကိုထပ်မံရှင်းလင်းပြီးစံသတ်မှတ်ချက်ကိုထပ်မံဖော်ပြထားသည်။ ၎င်းသည်ပွင့်လင်းသော function တစ်ခုအနေဖြင့်ဆက်လက်တည်ရှိနေပြီးအထူးသဖြင့်စိတ်ကြိုက် session handler သို့မဟုတ်လည်ပတ်နေသောစီးဆင်းမှုကိုအသုံးပြုနေလျှင်၎င်းသည်စိတ်ကြိုက် session processing စီးဆင်းမှုတွင်ဆက်လက်လုပ်ဆောင်ရန်အကြံပြုသည်။
ဥပမာအားဖြင့်, ဒေတာသမာဓိကိုသေချာစေရန်အထူးသဖြင့် Custom Save Processor ကိုအသုံးပြုသောအခါအထူးအရေးကြီးသည်။
session_set_save_handler(new MySessionHandler(), true);
session_start();
session_register_shutdown();
// အချို့သောစိတ်ကြိုက်ယုတ္တိဗေဒ
PHP 8 သည်တစ်ပြိုင်နက်တည်းနှင့်ခြွင်းချက်ကိုင်တွယ်ခြင်းအတွက် session module ကိုသည်းခံနိုင်မှုကိုပိုမိုကောင်းမွန်စေသည် ။
သတိပြုသင့်သည်မှာ People_register_Shutdown () သည်မှတ်ပုံတင်ခြင်း encment_shutdown_Chunction ('session_write_close_Close_close') သည် သင်၏ command_write_close_Close_Close_Close_Close_Close_Close ) ဖြစ်သည်။
သို့သော်အချို့သောမူဘောင်များ (Laravel သို့မဟုတ် symfony ကဲ့သို့သော) တွင် session lifecycle ကိုမူဘောင်များအနေဖြင့်စီမံခန့်ခွဲသည် ။ သို့သော်, ကိုယ်ပိုင်တည်ဆောက်ထားသောစနစ်များသို့မဟုတ်အခြေခံဖွံ့ဖြိုးတိုးတက်မှုအတွက်ဤလုပ်ဆောင်မှုသည်အားဖြည့်ခြင်းနှင့်ထိန်းချုပ်နိုင်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။
Multi-version php ပတ်ဝန်းကျင်တွင်ပုံမှန်အစည်းအဝေးများပုံမှန်စီမံခန့်ခွဲမှုများကိုသေချာစေရန်အတွက် developer များကိုအောက်ပါနည်းများကိုလိုက်နာရန်အကြံပေးသည်။
PHP 5.x တွင် မရှင်းလင်းသောပြည်တွင်းယန္တရားများအပေါ်မှီခိုမှုကိုရှောင်ရှားရန် Session_write_Close () ကိုမှတ်ပုံတင်ပါ။
PHP 7.x နှင့်နောက်ပိုင်းတွင် : session_register_shutdown () ကို Session_register_shutdown () ကို ဦး စားပေးမှုကိုပေးထားသည်။
Cross-version compatatibility - အလုပ်လုပ်တဲ့တည်ရှိမှုရှာဖွေတွေ့ရှိမှုကိုလိုက်ဖက်တဲ့အပြောင်းအလဲနဲ့အတွက်အသုံးပြုနိုင်တယ်။
if (function_exists('session_register_shutdown')) {
session_register_shutdown();
} else {
register_shutdown_function('session_write_close');
}
ဤစာအရေးအသားနည်းလမ်းသည် PHP ၏အဟောင်းများတွင်ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်ပုံမှန်လည်ပတ်နိုင်ကြောင်းသေချာစေသည်။
ယေဘုယျအားဖြင့်, session_register_shutdown () PHP ၏ session lifecycle စီမံခန့်ခွဲမှုတွင် PHP ၏ဆင့်ကဲဖြစ်စဉ်ကိုထင်ဟပ်သည်။ PHP 5 ကို PHP 5 မှ PHP 8 ကိုရှင်းလင်းပြတ်သားစွာဖော်ပြရန်သွယ်ဝိုက်သောအပြောင်းအလဲများအနေဖြင့်, အမှန်တကယ်စီမံကိန်းများတွင်၎င်းကိုအသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည်အထူးသဖြင့်ရှုပ်ထွေးသောတောင်းဆိုမှုများသို့မဟုတ်ကွပ်မျက်မှု၏ပြတ်တောက်မှုသို့မဟုတ်ကွပ်မျက်မှု၏ပြတ်တောက်ခြင်းများပြုလုပ်သောအခြေအနေများတွင်လျှို့ဝှက်အန္တရာယ်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။