header_register_callback သည် PHP တွင်ဖော်ပြထားသော function တစ်ခုဖြစ်သည်။ HTTP တုန့်ပြန်မှုခေါင်းစဉ်ကိုမပြုပြင်မီ HTTP တုန့်ပြန်မှုခေါင်းစဉ်ကိုပြုပြင်ရန်သို့မဟုတ်ဖြည့်စွက်ရန် callback function ကိုမှတ်ပုံတင်ရန်ခွင့်ပြုသည်။ ဆိုလိုသည်မှာသင်သည်ဤလုပ်ဆောင်မှုကို အသုံးပြု. PHP output header header information in header information များအပါအ 0 င်စိတ်ကြိုက်စစ်ဆင်ရေးများပြုလုပ်ရန်,
function ရှေ့ပြေးပုံစံ:
<span><span><span class="hljs-title function_ invoke__">header_register_callback</span></span><span>(</span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$callback</span></span><span>)
</span></span>
$ callback : တုံ့ပြန်မှုခေါင်းစီးကိုမပို့မီ execute လုပ်ရန် callable function ကို။ ဤ callback function ကိုလက်ရှိတုံ့ပြန်မှုအတွက် HTTP Header သတင်းအချက်အလက်အားလုံးပါ 0 င်သည့် Array Parameter ကိုလက်ခံရရှိသည်။
ဤနည်းအားဖြင့်တုန့်ပြန်မှုခေါင်းစီး၏ပါ 0 င်မှုများကိုသင်တုန့်ပြန်မှုမပို့မီချိန်ညှိရန်သေချာစေခြင်း,
http_Respones_code_code ဆိုသည်မှာ HTTP တုံ့ပြန်မှုအခြေအနေကုဒ်ကိုရယူရန်သို့မဟုတ်သတ်မှတ်ရန်အသုံးပြုသော PHP တွင်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့် PHP သည်တောင်းဆိုမှုကိုလုပ်ဆောင်သောအခါ၎င်းသည်အဆင့်အတန်းကို 200 အထိအလိုအလျောက်သတ်မှတ်သည် (တောင်းဆိုမှုသည်အောင်မြင်ကြောင်းဖော်ပြသည်) ။ သို့သော်အခြား status codes များကိုသင်ပြန်ပို့လိုပါက၎င်းကိုပြုပြင်ရန် http_Respones_code function ကိုသုံးနိုင်သည်။
function ရှေ့ပြေးပုံစံ:
<span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$code</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span>)
</span></span>
$ Code : HTTP status code ကိုသတ်မှတ်ရန်။ ဒီ parameter သည်ချန်လှပ်ထားလျှင်လက်ရှိ status code ကိုပြန်ပို့သည်။
အသုံးများသော HTTP အခြေအနေကုဒ်များတွင် -
200 : OK (တောင်းဆိုမှုအောင်မြင်မှု)
404 : မတွေ့ပါ (မတွေ့ပါ)
500 : Internal server အမှား (အတွင်းပိုင်းဆာဗာအမှား)
403- တားမြစ်ထားသော (လက်လှမ်းမီမှုကိုတားမြစ်သည်)
header_register_callback and http_responeson_code_code functions များကိုပေါင်းစပ်ပြီး HTTP အခြေအနေကုဒ်များကိုအလွန်အဆင်ပြေစွာသတ်မှတ်နိုင်သည်။ အောက်ပါအချက်များသည်ကွဲပြားခြားနားသောအခြေအနေများအပေါ် အခြေခံ. HTTP အခြေအနေကုဒ်များကိုမည်သို့ရှုမြင်ပုံပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
နမူနာကုဒ်:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ၎င်းကိုပြုပြင်ရန် callback function ကိုမှတ်ပုံတင်ပါ HTTP တုံ့ပြန်မှု header</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header_register_callback</span></span><span>(function() {
</span><span><span class="hljs-comment">// အချို့သောအခြေအနေများကိုစစ်ဆေးပြီးအခြေအနေများအရကွဲပြားခြားနားသောအခြေအနေများသတ်မှတ်ပါ HTTP အခြေအနေကုဒ်</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">201</span></span><span>); </span><span><span class="hljs-comment">// အောင်မြင်စွာဖန်တီးခဲ့တယ်,ပြန်လာ 201 အခြေအနေကုဒ်</span></span><span>
} </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'DELETE'</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">204</span></span><span>); </span><span><span class="hljs-comment">// အောင်မြင်စွာဖျက်ပါ,无内容ပြန်လာ,ပြန်လာ 204 အခြေအနေကုဒ်</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>); </span><span><span class="hljs-comment">// 默认ပြန်လာ 200 အခြေအနေကုဒ်</span></span><span>
}
});
</span><span><span class="hljs-comment">// output တုံ့ပြန်မှုအကြောင်းအရာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"တုံ့ပြန်မှုအကြောင်းအရာ..."</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ဖော်ပြပါကုဒ်များတွင် PHP သည် HTTP တုန့်ပြန်မှုခေါင်းစဉ်မပို့မီ status code ကိုသတ်မှတ်ရန် callback function ကိုပထမဆုံးမှတ်ပုံတင်ပါ။ တောင်းဆိုမှုနည်းလမ်းပေါ် မူတည်. ကျွန်ုပ်တို့သည် HTTP status codes များကိုပြောင်းလဲခြင်းဖြင့်ပြောင်းလဲခြင်း။
Post တောင်းဆိုမှုအတွက် မူ အရင်းအမြစ်ကိုအောင်မြင်စွာဖန်တီးနိုင်ကြောင်းညွှန်ပြသည်။
Deleete တောင်းခံမှုအတွက် 204 ခုသည်အကြောင်းအရာအဆင့်အတန်းကုဒ်နံပါတ်မရှိပါ ။ ပယ်ဖျက်ခြင်းသည်အောင်မြင်ကြောင်းဖော်ပြသည်။
အခြားတောင်းဆိုမှုများအတွက် default 200 OK status status code ကိုပြန်ပို့သည်။
header_register_ccallback ကို အသုံးပြုတဲ့အခါအထူးအာရုံစိုက်ဖို့လိုတဲ့အချက်တချို့ရှိတယ်။
ခေါ်ဆိုမှုအမိန့် - header_register_callback မှတ်ပုံတင်ထားသောမှတ်ပုံတင်ခြင်းသည်မှတ်ပုံတင်ထားသည့် header သတင်းအချက်အလက်အားလုံးကိုမပို့မီကွပ်ကဲသည်,
Response Header ကိုပို့ပါ ။ http_respones_code function ကိုဖုန်းခေါ်ဆိုသောအခါ status code ကို is status code ကိုသတ်မှတ်ထားရန်လိုအပ်ကြောင်းသေချာစေရန်လိုအပ်သည်။ ဒီလိုမှမဟုတ်ရင် PHP က Respons header ကို output content မတိုင်မှီပို့ပေးလို့ရတယ်။
လိုက်ဖက်တဲ့ပြ issues နာများ - header_register_callback သည် PHP ဗားရှင်းသို့မဟုတ် configurations အချို့တွင်မထောက်ပံ့နိုင်သည့်အသုံးအများဆုံးလုပ်ဆောင်ချက်ဖြစ်သည်။ ထို့ကြောင့်,
header_register_callback_callback_callback_callback_code_code_calleback functions များကို ပေါင်းစပ်ခြင်းအားဖြင့် PHP developer များသည်ကွဲပြားခြားနားသောစီးပွားရေးယုတ္တိဗေဒဆိုင်ရာလိုအပ်ချက်များနှင့်အညီပုံမှန်အတိုင်း HTTP status codes များကိုအလွယ်တကူပြန်ပို့နိုင်သည်။ ၎င်းသည် interface ၏ပြောင်းလွယ်ပြင်လွယ်မှုကိုတိုးတက်စေရန်သာမကရှေ့တန်းသို့မဟုတ် 0 န်ဆောင်မှုခံယူသူအားမတူညီသော status codes များအရဆက်လက်လုပ်ဆောင်ရန်,
ဤဆောင်းပါးအားဤဆောင်းပါးတစ်ပုဒ်မှတစ်ဆင့်ဤလုပ်ငန်းဆောင်တာများကိုပိုမိုထိရောက်စွာနားလည်နိုင်ပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် HTTP တုန့်ပြန်မှုခေါင်းစီးများနှင့်အဆင့်အတန်းကုဒ်များကိုပိုမိုထိရောက်စွာထိန်းချုပ်နိုင်သည်။