ဝက်ဘ်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင်စာမျက်နှာခုန်ခြင်းသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ PHP developer များသည်များသောအားဖြင့်ခုန်ထွက်ရန် header functions များကိုအသုံးပြုလေ့ရှိသော်လည်း၎င်းတို့၏အသုံးပြုမှုမှာအကန့်အသတ်အချို့နှင့်ကုဒ်ကိုထပ်ခါတလဲလဲပြုလုပ်နိုင်သည်။ Code ၏ထိန်းသိမ်းနိုင်မှုနှင့်သန့်ရှင်းမှုကိုတိုးတက်စေရန် code ကို encapsulated လုပ်နိုင်သည်။
redirect ဟုခေါ်သော function တစ်ခုကို encapsulating အားဖြင့်ကျွန်ုပ်တို့သည်ခုန်ခြင်းလုပ်ငန်းများကိုတစ်ပြိုင်တည်းစီမံနိုင်သည်။
Jump URLs များ, http status ကုဒ်များနှင့်စိတ်ကြိုက်ခေါင်းစဉ်ဆိုင်ရာအချက်အလက်များတွင်လုပ်ဆောင်ချက်များပံ့ပိုးမှုစင်တာများ
/**
* သတ်မှတ်ထားသောမှခုန်URL
* @param string $url ဦး တည်ရာလိပ်စာ
* @param int $statusCode HTTPအခြေအနေကုဒ်,ပျက်ကွက်ခြင်း302
* @param array $headers စိတ်တိုင်းပြုHTTPဉီးခေါင်း,အဓိကတန်ဖိုးတွဲဖက်ပုံစံ
*/
function redirect(string $url, int $statusCode = 302, array $headers = [])
function redirect(string $url, int $statusCode = 302, array $headers = []) {
// တည်ဆောက်သည်HTTPအခြေအနေကုဒ်
http_response_code($statusCode);
// 添加စိတ်တိုင်းပြုဉီးခေါင်း
foreach ($headers as $name => $value) {
header("$name: $value");
}
// ခုန်လုပ်ဆောင်ပါ
header("Location: $url");
exit;
}
ဤအကောင်အထည်ဖော်မှုသည် status code ကိုသတ်မှတ်ရန် http_Response_code ကို အသုံးပြုသည်, header မှတ ဆင့်စိတ်ကြိုက်ခေါင်းစီးကိုထည့်သွင်းရန်,
Encapsulation ပြီးနောက်ခုန် function ကိုခေါ်ဆိုခြင်းသည်ပိုမိုတိကျသောနှင့်ပြောင်းလွယ်ပြင်လွယ်ရှိသည်။
redirect('https://example.com');
ဤခေါ်ဆိုမှုသည်အသုံးပြုသူအား https://example.com စာမျက်နှာသို့ညွှန်ကြားလိမ့်မည်။
အမြဲတမ်းခုန်ခြင်းကဲ့သို့သောကွဲပြားခြားနားသောခုန်အပြုအမူများရရှိရန် status codes တွေကို support လုပ်ခြင်း။
redirect('https://new.example.com', 301);
ဤခေါ်ဆိုမှုသည် 301 status code ကိုပြန်ပို့ပေးပြီးအမြဲတမ်းခုန်ခြင်းဖြစ်သည်။
Header အချက်အလက်များကိုအထူးလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်တတိယ parameter မှဖြတ်သန်းသွားနိုင်သည်။
redirect('https://example.com', 302, [
'Referer' => 'https://previous-page.com'
]);
ခုန်ချသည့်အခါရည်ညွှန်းသူ header ကို ဦး စွာသတ်မှတ်မည်, ထို့နောက်ခုန်ချလိမ့်မည်။
ခုန်ခွဲစိတ်ကုသမှုကိုဖုံးအုပ်ခြင်းအားဖြင့်ကုဒ်၏ရှင်းလင်းပြတ်သားမှုကိုတိုးတက်စေခြင်းအားဖြင့်ကုဒ်၏ရှင်းလင်းပြတ်သားမှုကိုတိုးတက်စေရုံသာမက Jump အပြုအမူကိုပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်မှုကိုပြုလုပ်သည်။ status code ကိုပြုပြင်ခြင်းသို့မဟုတ်စိတ်ကြိုက်ခေါင်းဆောင်မှုများထည့်သွင်းခြင်းရှိမရှိ, Encapsulation Function သည် PHP Backend Development တွင်အကြံပြုထားသောအလေ့အကျင့်သည်အမျိုးမျိုးသောလိုအပ်ချက်များကိုထိရောက်စွာထောက်ပံ့နိုင်သည်။