PHP Development တွင်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အစည်းအဝေးများ (session) သည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် session_start () function မှတဆင့် session ကိုစတင်ပါက session_start () ကို ထပ်ခါတလဲလဲဟုခေါ်သည်။ ထို့ကြောင့်, ၎င်းသည် session မစတင်မီလက်ရှိ session ကိုဖွင့်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အလွန်ကောင်းသောပရိုဂရမ်အလေ့အကျင့်တစ်ခုဖြစ်သည်။
PHP နှင့်ပါ 0 င်သော session_status () function သည်ထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားရန်လက်ရှိ session ၏အခြေအနေကိုဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည် session_status () function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်လေ့လာပါမည်။
Session_Status () သည် PHP 5.4.0 ကိုလက်ရှိ session တစ်ခု၏အခြေအနေကိုရရှိရန်အတွက်မိတ်ဆက်ပေးသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်အောက်ပါပြည်နယ်သုံးခုအနက်မှတစ်ခုသို့ပြန်လာသည်။
php_session_disabled (integer value 0) - session function ကိုပိတ်ထားသည်ကိုဖော်ပြသည်။
php_session_none (integer value 1) - session ကိုမဖွင့်နိုင်သော်လည်းဖွင့်နိုင်သည်ဟုဆိုလိုသည်။
php_session_act_action (integer value 2) - session ကိုဖွင့်လှစ်လိုက်ကြောင်းဖော်ပြသည်။
ဤပြန်လည်ထူထောင်ရေးတန်ဖိုးများနှင့်အတူ session_start () ကိုခေါ်ရန်လိုအပ် / ရှိမရှိလုံခြုံစွာဆုံးဖြတ်နိုင်သည်။
ထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားရန်အဓိကသင်္ကေတဥပမာများသည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// နောက်ဆက်တွဲကုဒ်ယုတ္တိဗေဒ
?>
ဤနေရာတွင် Session_Start () ကို session ကိုဖွင့်လှစ်ခြင်းမရှိသေးသည့်အခါသာဟုခေါ်သည်, ထပ်ခါတလဲလဲ startups ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန်ဖြစ်သည်။
session_status ကို အသုံးပြု. မည်သို့ဆုံးဖြတ်ရမည်ကိုပြသသည့်ပုံမှန်ဥပမာတစ်ခုဖြစ်သည်။
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// session variable တွေကိုသတ်မှတ်ပါ
$_SESSION['user'] = 'Zhang San';
// session ကို variable တွေကိုဝင်ရောက်
echo 'လက်ရှိအသုံးပြုသူသည်:' . $_SESSION['user'];
?>
ဤကုဒ်တွင် session_start () ကို တစ်ကြိမ်သာအကောင်အထည်ဖော်နိုင်ပြီး Code ကိုမည်သည့်အချိန်တွင်မပါ 0 င်သည်ဖြစ်စေ,
ကြီးမားသောစီမံကိန်းများတွင်ဖိုင်များသို့မဟုတ်အတန်းများစွာသည် session တစ်ခုစတင်ရန်ကြိုးစားနိုင်ပြီးထပ်ခါတလဲလဲခေါ်ဆိုမှုများကိုရှောင်ရှားရန် session_status () ကို အသုံးပြုရန်အရေးကြီးသည်။
မူဘောင်များသို့မဟုတ်တတိယပါတီစာကြည့်တိုက်များကိုအသုံးပြုသောအခါနောက်ခံအလွှာသည်စာသင်ခန်းကိုစတင်ရန်နှင့်ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်အခြေအနေကိုတရားစီရင်ခြင်းရှိမရှိမသေချာပါ။
အထွေထွေကိရိယာများသို့မဟုတ်စာကြည့်တိုက်လုပ်ဆောင်မှုများကိုရေးသည့်အခါကုဒ်၏ကြံ့ခိုင်မှုကိုသေချာအောင်လုပ်ပါ။
session_status () function ကို PHP 5.4.0 နှင့်အထက်တွင်သာရနိုင်သည်။
session_start ()) မခေါ်မီ "headers senders" အမှားပေါ်လာလိမ့်မည်။
server သည် session ကိုပိတ်ထားပါက ( session_status () === php_session_disabled ) ရှိပါက session feature ကိုမသုံးနိုင်ပါ။
တစ်ခါတစ်ရံတွင်အသုံးပြုသူသည် session တွင်အသုံးပြုသူခုန်ထွက်သော Target URL သည်ကယ်တင်ခြင်းသို့ရောက်လိမ့်မည်။
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$_SESSION['redirect_url'] = 'https://gitbox.net/path/to/page';
// နောက်ဆက်တွဲခုန်အပြောင်းအလဲနဲ့
header('Location: ' . $_SESSION['redirect_url']);
exit;
?>
အထက်ပါဥပမာတွင် URL ၏ domain name ကို GitBox.net ဖြင့်တိုက်ရိုက်အစားထိုးသည်။ ၎င်းသည်သရုပ်ပြခြင်းနှင့်ရှင်းလင်းချက်အတွက်အဆင်ပြေသည်။
session_status () ကိုအသုံးပြုပြီး () အခါအားလျော်စွာဆွေးနွေးခြင်းကိုထိရောက်စွာစတင်ခြင်းကိုရှောင်ရှားနိုင်ပြီးကုဒ်နှင့်သုံးစွဲသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။