လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> ဖန်ရှင်အမျိုးအစားများ> session_set_save_handler

session_set_save_handler

အသုံးပြုသူအဆင့် session သိုလှောင်မှု function ကိုသတ်မှတ်ပါ
အမည်:session_set_save_handler
အမျိုးအစား:အစည်းအဝေးပြုပိန်း
programming language:php
တစ်ကြောင်းဖြင့်အကျဉ်းချုပ်:အသုံးပြုသူသတ်မှတ်ထားသော session သိုလှောင်မှုလုပ်ငန်းဆောင်တာများကို set up

(PHP 4, PHP 5, PHP 7, PHP 8)

Session_set_saver_Handler - အသုံးပြုသူသတ်မှတ်ထားသော session သိုလှောင်မှု function ကိုသတ်မှတ်ပါ

ဥပမာပြပါ

 session_set_save_handler( callable $open, callable $close, callable $read, callable $write, callable $destroy, callable $gc, callable $create_sid = ?, callable $validate_sid = ?, callable $update_timestamp = ? ): bool

အောက်ပါနည်းလမ်းကို အသုံးပြု. စိတ်ကြိုက် session သိုလှောင်မှု function တစ်ခုကိုသင်မှတ်ပုံတင်နိုင်သည်။

 session_set_save_handler(object $sessionhandler, bool $register_shutdown = true): bool

session_set_saver_handler () အသုံးပြုသူသတ်မှတ်ထားသော session သိုလှောင်မှု function ကိုသတ်မှတ်သည်။ PHP ၏ built-in session သိုလှောင်မှုယန္တရား မှလွဲ. အခြားနည်းလမ်းတစ်ခုကိုသင်အသုံးပြုလိုပါကဤ function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့် session data ကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းရန် session သိုလှောင်မှုလုပ်ဆောင်ချက်များကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။

parameters တွေကိုဒီ function ရဲ့ရှေ့ပြေးပုံစံ 2 ရှိပါတယ်:

စင်း
sessionhandler ကဲ့သို့သော sessionhanderlinterface (optionaluptetimestampleterfandlerinterfandlerinface interface ကိုအကောင်အထည်ဖော်သည့်အရာဝတ်ထုတစ်ခု။

Register_shutdown
function session_write_close () ကို Register_shutDown_Chunction () function ကိုမှတ်ပုံတင်ပါ။

သို့မဟုတ်
ပွင့်လင်း (string $ suppath, string ကို $ sessionname)
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 open(string $savePath, string $sessionName): bool

ပွင့်လင်းသော callback function သည် class constructor နှင့်ဆင်တူပြီး session ကိုဖွင့်သောအခါခေါ်လိမ့်မည်။ ၎င်းသည် session ကိုအလိုအလျောက်စတင်ရန်သို့မဟုတ် session_start ကိုခေါ်ဆိုခြင်းဖြင့် session ကိုစတင်ရန်ပထမ ဦး ဆုံး callback function ကိုဖြစ်သည်။ ဒီ callback function ကိုစစ်ဆင်ရေးအောင်မြင်စွာပြန်လည်ရောက်ရှိလာ, မဟုတ်ရင်မှားတယ်။

ပိတ်ထားသော
Close Callback function သည်အတန်း၏ဖျက်ဆီးခြင်းနှင့်ဆင်တူသည်။ ရေးသားခြင်း callback function ကိုခေါ်ပြီးနောက်ခေါ်။ Session_write_Close () function ကိုခေါ်ပြီးနောက် close callback function ကိုလည်းခေါ်သည်။ ဒီ callback function ကိုစစ်ဆင်ရေးအောင်မြင်စွာပြန်လည်ရောက်ရှိလာ, မဟုတ်ရင်မှားတယ်။

ဖတ်
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 read(string $sessionId): string

အကယ်. သင်ခန်းစာတွင်အချက်အလက်များရှိပါက Read Callback function သည် session data ၏ string encoded (serialized) ကိုပြန်ပို့ရမည်။ အကယ်. သင်ခန်းစာတွင်အချက်အလက်မရှိပါက Road Callback function သည်အချည်းနှီးသော string ကိုပြန်ပို့သည်။

session_start () function ကိုခေါ်ဆိုခြင်းဖြင့် session ကိုအလိုအလျှောက် session ကိုစတင်ခြင်းသို့မဟုတ်ကိုယ်တိုင် session ကိုစတင်ပြီးနောက် PHP သည် Session Data ကိုရယူရန် PHP သည်စာဖတ်ခြင်း function ကိုခေါ်ဆိုသည်။ မဖတ်မီ PHP သည် Open callback function ကိုခေါ်ဆိုသည်။

Read callback မှပြန်လာသော serialized string format သည် Mrite Callback သည်အချက်အလက်များကိုသိမ်းဆည်းသည့်အခါပုံစံနှင့်တူညီရမည်။ PHP သည်ပြန်လာသော string ကိုအလိုအလျောက်စွန့်ပစ်ပြီး $ _Session စူပါကမ္ဘာလုံးဆိုင်ရာ variable ကိုဖြည့်သည်။ အချက်အလက်များသည် serialize () function နှင့်အလွန်ဆင်တူသော်လည်း၎င်းတို့ကွဲပြားခြားနားကြောင်းသတိပြုသင့်သည်။ ကျေးဇူးပြု. : Session.Serialize_Handler ကိုဖတ်ရှုပါ။

ရေးသား
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 write(string $sessionId, string $data): bool

Session သည်ဒေတာများကိုသိမ်းဆည်းသည့်အခါရေးပါ callback function ကိုခေါ်သည်။ ဤ callback function သည် parameterscers ကို Parameterse id နှင့် data serialization for data serialization ပြီးနောက် string ကိုအဖြစ်သတ်မှတ်သည်။ session data session data session data လုပ်ငန်းစဉ်ကို PHP မှ Session.Serialize_Handler setting ကို အခြေခံ. ပြီးစီးသည်။

Serialized ဒေတာများကိုသိုလှောင်ရန် session id နှင့်ဆက်စပ်လိမ့်မည်။ Read callback function ကိုဒေတာရရှိရန်ဟုခေါ်သောအခါပြန်လာသောအချက်အလက်များသည် Callback function ကိုပြောင်းလဲခြင်းအချက်အလက်များနှင့်အပြည့်အဝကိုက်ညီရမည်။

PHP သည် script လုပ်ဆောင်ပြီးနောက်သို့မဟုတ် session_write_close () function ကိုဟုခေါ်သောအပြီးဤ callback function ကိုခေါ်ဆိုလိမ့်မည်။ ဤ callback function ကိုခေါ်ဆိုပြီးနောက် Close callback function ကို PHP တွင် "ဟုခေါ်သည်။

သတိပြုရန်:

output stream ကိုရေးသားပြီးမှသာ PHP သည် MANE Callback function ကိုခေါ်ဆိုလိမ့်မည်။ Debug output ကို debug output ကိုသုံးရန်လိုအပ်ပါက debug output ကိုဖိုင်တစ်ခုသို့ရေးရန်အကြံပြုပါသည်။

ဖျက်ဆီး
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။

 destroy(string $sessionId): bool
ဤ callback function ကို session_destroy () function ကိုခေါ်သည့်အခါသို့မဟုတ် session_regenate_id () function ကိုခေါ်သည့်အခါသို့မဟုတ် session_regenate_id () function ကိုဟုခေါ်သည်။ ဒီ callback function ကိုစစ်ဆင်ရေးအောင်မြင်စွာပြန်လည်ရောက်ရှိလာ, မဟုတ်ရင်မှားတယ်။

Gcc
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 gc(int $lifetime): bool
Session တွင်ဒေတာအဟောင်းများကိုသန့်ရှင်းရေးလုပ်ရန် PHP သည်အမှိုက်များစုဆောင်းခြင်းခေါ်ဆိုမှု function ကိုအခါအားလျော်စွာခေါ်ဆိုလိမ့်မည်။ ခေါ်ဆိုမှုသံသရာကို session.gc_probility နှင့် session.gc_divisor parametersters မှထိန်းချုပ်ထားသည်။ ဤ callback function ကို 0 င်ရောက်သောတစ်သက်တာ parameter သည် session.gc_maxlifetime မှသတ်မှတ်သည်။ ဒီ callback function ကိုစစ်ဆင်ရေးအောင်မြင်စွာပြန်လည်ရောက်ရှိလာ, မဟုတ်ရင်မှားတယ်။

Create_sid
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 create_sid(): string

session အသစ်တစ်ခုလိုအပ်သည့်အခါဤ callback function ကိုလုပ်ဆောင်ပါ။ ၎င်းသည်ခေါ်ယူသောအခါ parameters တွေကိုမသွားနိုင်တော့ပါ။ ၎င်းသည် Return Value သည် string-format လုပ်ထားသည့် session id ဖြစ်သင့်သည်။

Rightate_sid
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 validate_sid(string $key): bool
session.use_strict_mode ကိုဖွင့်ပြီးနောက် session ID ကိုထောက်ပံ့ပေးသည့်အခါ session တစ်ခုစတင်သောအခါဤ callback ကိုကွပ်မျက်ခံရလိမ့်မည်။ parameter သည် key ကိုအတည်ပြုရန် session ID ဖြစ်သည်။ အကယ်. ဤ ID ပြီးသားတည်ရှိပြီးဖြစ်ပါက၎င်းသည်ခိုင်လုံသော session ID ဖြစ်သည်။ ပြန်လာတန်ဖိုးသည်အောင်မြင်မှုနှင့်ပျက်ကွက်မှုအပေါ်မှားယွင်းသောအပေါ်မှန်ကန်သင့်သည်။

Update_Timbestamp
အောက်ပါလက်မှတ်ခေါ်ဆိုမှုပြန်မှုကိုအကောင်အထည်ဖော်သည်။
 update_timestamp(string $key, string $val): bool

session ကို update လုပ်သည့်အခါဤ callback execute ။ parameter သည် key သည် session ID ဖြစ်သည်။ Parameter Val သည် session data ဖြစ်သည်။ ပြန်လာတန်ဖိုးသည်အောင်မြင်မှုနှင့်ပျက်ကွက်မှုအပေါ်မှားယွင်းသောအပေါ်မှန်ကန်သင့်သည်။

Value ကိုပြန်လာ?
အောင်မြင်မှုအပေါ်စစ်မှန်တဲ့အောင်မြင်မှုသို့မဟုတ်ပျက်ကွက်အပေါ်မှားယွင်းသောအပေါ်ပြန်လာ။

ဥပမာ?
ဥပမာ # 1 စိတ်ကြိုက် session handler: code အပြည့်အတွက် sessionhanderslerinterface ကိုကြည့်ပါ။

သာခေါ်ဆိုမှုနည်းလမ်းကိုသာဒီမှာဖော်ပြထားသည်။ ကုဒ်လုံးလုံးအတွက် sessionhandlerinterface ကိုကြည့်ပါ။

ဤတွင် session_set_save_handler () function ကို၏ oop ရှေ့ပြေးပုံစံကိုအသုံးပြုသည်။ ဒုတိယ parameter သည် Shutdown function ကိုမှတ်ပုံတင်ရန်အသုံးပြုသည်။ အရာဝတ်ထုတစ်ခုကို session ကို Saverler Save Saverler အဖြစ်မှတ်ပုံတင်သည့်အခါ၎င်းကိုအကြံပြုသည်။
 <?php class MySessionHandler implements SessionHandlerInterface { // 在这里实现接口} $handler = new MySessionHandler(); session_set_save_handler($handler, true); session_start(); // 现在可以使用$_SESSION 保存以及获取数据了

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

session_write_close () function ကိုဤပြ problem နာကိုဖြေရှင်းရန်အခွင့်အလမ်းတွင်ခေါ်ယူနိုင်သည်။ သို့သော် shutdown callback function ကိုမှတ်ပုံတင်ခြင်းသည်၎င်းကိုလုပ်ရန် ပို. ယုံကြည်စိတ်ချရသောနည်းလမ်းဖြစ်သည်။

scription ပြီးသွားရင် session ကိုပိတ်ထားရင်ြဗတ်ကလက်ရှိအလုပ်လုပ်တဲ့ directory ကိုအချို့သော sapis အချို့အတွက်ပြောင်းလဲသွားနိုင်သည်။ session_write_close () လုပ်ဆောင်ချက် () function ကို scription ကွပ်မျက်မှုမပြီးဆုံးမီ session ကိုပိတ်ရန်ခေါ်နိုင်သည်။

သက်ဆိုင်သောဖင်ခှ်ရှင်းများ
လူကြိုက်များသော ဆောင်းပါးများ