The Tearchp Pramework ကိုအသုံးပြုသောအခါအချို့သော developer များသည်ထပ်ခါတလဲလဲစာမျက်နှာခုန်ချခြင်းပြ problem နာကိုကြုံတွေ့ရနိုင်သည်။ ၎င်းသည်များသောအားဖြင့်ပရိုဂရမ်ယုတ္တိဗေဒအမှားသို့မဟုတ်ဆာဗာဖွဲ့စည်းမှုဆိုင်ရာကန့်သတ်ချက်ကြောင့်ဖြစ်သည်။ ဤဆောင်းပါးသည် root အကြောင်းရင်းများနှင့်သက်ဆိုင်ရာဖြေရှင်းနည်းများကိုအသေးစိတ်ဆွေးနွေးပါမည်။
ThinkPhp ထပ်ခါတလဲလဲခုန်ခြင်းသည်အောက်ပါအချက်နှစ်ချက်မှလာသည်။
ပရိုဂရမ်ယုတ္တိဗေဒအမှားအယွင်း - ဥပမာအားဖြင့်, ခုန်အခွအေနေမှန်ကန်စွာတရားသေဆုံးခြင်းမရှိပါကကွင်းဆက်ကိုခုန်ချလိမ့်မည်။
ဆာဗာ configuration ပြ problem နာ - အချို့သောဆာဗာများသည်ခုန်ချခြင်းအရေအတွက်ကိုကန့်သတ်ထားသည်။
ပထမ ဦး စွာသင်သည်ခုန်တရားစီရင်ခြင်းသည်တိကျခိုင်မာသည့်အခြေအနေများရှိနေသေးသည့်အခြေအနေများရှိမရှိအတည်ပြုရန်ကုဒ်ကိုဂရုတစိုက်စစ်ဆေးသင့်သည်။ အောက်ပါဥပမာသည်ပုံမှန်ထက်အမှားတစ်ခုနှင့်၎င်း၏အကောင်းဆုံးအစီအစဉ်ကိုပြသသည်။
public function index(){
if(!session('uid')){
$this->redirect('login');
}
}
အထက်ဖော်ပြပါကုဒ်သည် login status ကိုအပြည့်အဝအပြောင်းအလဲနဲ့မပြည့်စုံဘဲ logged in and bologin status ကိုခွဲခြားထားခြင်းမရှိသေးပါ။
အကောင်းဆုံးကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
public function index(){
if(!session('uid')){
$this->redirect('login');
}else{
// စီးပွားရေးယုတ္တိဗေဒအပြောင်းအလဲနဲ့ logged
}
}
ဤပြောင်းလဲမှုသည် logged in လုပ်သည့်အခါစစ်ဆင်ရေးကိုထည့်သွင်းခြင်းဖြင့်အဆုံးမဲ့ခုန်ကွင်းများကိုရှောင်ရှားသည်။
အကယ်. ပရိုဂရမ်သည်ယုတ္တိရှိပါကဆာဗာဆက်တင်များကိုဖြေရှင်းရန်လိုအပ်သည်။ အချို့သောဆာဗာများသည် redirect တိုက်ခိုက်မှုများကိုကာကွယ်ရန်ခုန်ချခြင်းအရေအတွက်ကိုကန့်သတ်ထားသည်။ သက်ဆိုင်ရာ configuration ကိုချိန်ညှိရန်ဆာဗာအုပ်ချုပ်ရေးမှူးကိုဆက်သွယ်ရန်သို့မဟုတ်အခြား server ပတ်ဝန်းကျင်တွင်စမ်းသပ်ရန်ကြိုးစားရန်အကြံပြုသည်။
TrustPP တွင်ထပ်ခါတလဲလဲခုန်ချခြင်းပြ problem နာကိုကြုံတွေ့ရသောအခါ Code Logic နှင့်စတင်ရန်နှင့်ခုန်ခြင်းသည်ပြီးပြည့်စုံသည်ကိုအတည်ပြုရန်အကြံပြုပါသည်။ အကယ်. ပရိုဂရမ်တွင်ခြွင်းချက်မရှိပါကဆာဗာပတ် 0 န်းကျင်ဆိုင်ရာကန့်သတ်ချက်များကိုစစ်ဆေးပါ။ အကျိုးသင့်အကြောင်းသင့်ရှိသောစုံစမ်းစစ်ဆေးမှုနှင့်ညှိနှိုင်းမှုအားဖြင့်ထပ်ခါတလဲလဲစဉ်းစားတွေးခေါ်မှု၏ပြ problem နာသည် application ၏ပုံမှန်လည်ပတ်မှုကိုသေချာစေရန်ထိရောက်စွာဖြေရှင်းနိုင်သည်။