<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဒီဆောင်းပါးနှင့် PHP ဆက်သော,၎င်းကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန်အသုံးပြုခဲ့သည် json_last_error_msg ဒေတာထုတ်လွှင့်မှုကိုပိုကောင်းအောင်လုပ်ပါ</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------</span></span><span>
</span><span><span class="hljs-comment"># ဘယ်လိုသုံးရမလဲ json_last_error_msg ရှေ့တန်းနှင့်အဆုံးအကြားဒေတာထုတ်လွှင့် format ကို optimize လုပ်ရန်လုပ်ဆောင်ချက်များကို?</span></span><span>
မျက်မှောက်ခေတ်၌တည်၏ Web ဖွံ့ဖြိုးမှုအောက်မှာ,ရှေ့နှင့်နောက်ပိုင်းအဆုံးအကြားဒေတာအပြန်အလှန်ဆက်စပ်မှုနီးပါးရှိသည် JSON ပမာဏ。Front-end pass JavaScript သို့ဒေတာ encapsultulate JSON ကန့်ကွက်,backend သို့ဖြတ်သန်း;backend ကိုသုံးပါ PHP မှန်သော JSON string parsing နှင့် processing。မည်မှျပင်,အချက်များတည်နေ传输和解析过程အလယ်ပိုင်း很容易出现ပမာဏ错误,ဥပမာအားဖြင့်, encoding ပြ issues နာများ、ပျောက်ဆုံးနေကိုးကားသို့မဟုတ် syntax မမှန်。ဤအမှားများကိုအချိန်အတွက်ဖမ်းမိမခံရလျှင်,၎င်းသည်ပုံမှန်မဟုတ်သောပရိုဂရမ်စစ်ဆင်ရေးသို့မဟုတ်အချက်အလက်ဆုံးရှုံးမှုကိုဖြစ်စေနိုင်သည်。为了更好地优化前后端之间的အချက်များ传输ပမာဏ,`</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` လုပ်ဆောင်ချက်များကိုအလွန်လက်တွေ့ကျတဲ့ကိရိယာတစ်ခုဖြစ်လာသည်。
</span><span><span class="hljs-comment">## တစ်、ဘာလဲ `json_last_error_msg()`</span></span><span>
တည်နေ PHP အလယ်ပိုင်း,ငါတို့သုံးတဲ့အခါ `</span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>()` သို့မဟုတ် `</span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>()` အချိန်,အမှားများကိုကြုံတွေ့ရနိုင်သည်。PHP ထောက်ပံ့ `</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>()` အမှားကုဒ်ကိုပြန်သွားပါ,သို့သော်ဤအမှားကုဒ်များသည်နံပါတ်များဖြစ်သည်,အလိုလိုမဟုတ်ပါဘူး。နှင့် `</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` 则会返回မှန်သော应的错误信息ကြိုး,developer များနားလည်ရန်နှင့် debug လုပ်ရန်ပိုမိုလွယ်ကူသည်。
နမူနာ:
```php
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">"{invalidJson: true}"</span></span><span>; </span><span><span class="hljs-comment">// တရားမဝင်သော JSON ကြိုး</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ခွဲခြမ်းစိတ်ဖြာခြင်းမအောင်မြင်ပါ:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>();
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>output ကိုဖြစ်လိမ့်မည်:
<span><span>ခွဲခြမ်းစိတ်ဖြာခြင်းမအောင်မြင်ပါ:Syntax </span><span><span class="hljs-type">error</span></span><span>
</span></span>ဤနည်းအားဖြင့် developer များသည်အမှားကုဒ်များပေါ်တွင်သာမှီခိုမည့်အစားပြ the နာကိုလျင်မြန်စွာရှာဖွေနိုင်သည်။
အချက်အလက်သမာဓိရှိမှု - ထုတ်လွှင့်ခြင်းလုပ်ငန်းစဉ်အတွင်းဒေတာဖွဲ့စည်းပုံပျက်စီးသွားပါက၎င်းကိုအချိန်မီရှာဖွေတွေ့ရှိနိုင်ပြီးပြင်ဆင်ရန်အတွက်စစ်ဆေးမှုကိုပြုလုပ်နိုင်သည်။
အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်အောင်ပြုလုပ်ခြင်း - အမှားအယွင်းများသည်ရှင်းလင်းပြတ်သားပြီးရှင်းလင်းပြတ်သားသည်, ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ဆက်သွယ်ရေးစရိတ်များကိုလျော့နည်းစေသည်။
Enhanced system corwastness - အမှားရှာဖွေတွေ့ရှိရေးယန္တရားမှတဆင့်ခွဲခြမ်းစိတ်ဖြာခြင်းအမှားများကြောင့်ဖြစ်ပေါ်လာသောစီးပွားရေးယုတ္တိဗေဒပြတ်တောက်မှုကိုရှောင်ရှားနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 假设Front-end pass AJAX ပေးပို့ JSON အချက်များ</span></span><span>
</span><span><span class="hljs-variable">$jsonInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">"php://input"</span></span><span>);
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$jsonInput</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
</span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
</span><span><span class="hljs-string">"status"</span></span><span> => </span><span><span class="hljs-string">"error"</span></span><span>,
</span><span><span class="hljs-string">"message"</span></span><span> => </span><span><span class="hljs-string">"အားမရှိသော JSON ပမာဏ: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()
]);
</span><span><span class="hljs-keyword">exit</span></span><span>;
}
</span><span><span class="hljs-comment">// 如果အချက်များပမာဏ正确,စီးပွားရေးယုတ္တိဗေဒကိုဆက်လက်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
</span><span><span class="hljs-string">"status"</span></span><span> => </span><span><span class="hljs-string">"success"</span></span><span>,
</span><span><span class="hljs-string">"data"</span></span><span> => </span><span><span class="hljs-variable">$data</span></span><span>
]);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤနည်းအားဖြင့် Backend သည် JSOSS ၏ပြ problems နာများကိုဖြစ်နိုင်သမျှအမြန်ဆုံးရှာဖွေတွေ့ရှိနိုင်ပြီးဖော်ရွေသောအမှားသတိပေးချက်များကိုပြန်ပို့နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$response</span></span><span> = [
</span><span><span class="hljs-string">"status"</span></span><span> => </span><span><span class="hljs-string">"success"</span></span><span>,
</span><span><span class="hljs-string">"message"</span></span><span> => </span><span><span class="hljs-string">"စစ်ဆင်ရေးပြီးစီးခဲ့သည်"</span></span><span>,
</span><span><span class="hljs-string">"data"</span></span><span> => [</span><span><span class="hljs-string">"id"</span></span><span> => </span><span><span class="hljs-number">123</span></span><span>, </span><span><span class="hljs-string">"name"</span></span><span> => </span><span><span class="hljs-string">"အသုံးပြုသူကိုစစ်ဆေးပါ"</span></span><span>]
];
</span><span><span class="hljs-variable">$jsonOutput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>(</span><span><span class="hljs-variable">$response</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
</span><span><span class="hljs-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"JSON Coding မအောင်မြင်ပါ:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>());
</span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">500</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-keyword">exit</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$jsonOutput</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤအချက်သည် frontend သို့ Backend မှပြန်လာသော JSon Data သည်အမြဲတမ်းတရားဝင်နှင့်ဆန်းစစ်နိုင်သည်ကိုသေချာစေသည်။
Front-end data ထုတ်လွှင့်ရာတွင် JSON သည်အဓိကပုံစံဖြစ်သည်။ သို့သော်အပြောင်းအလဲများလုပ်ငန်းစဉ်အတွင်းအမှားအယွင်းများကိုမလွှဲမရှောင်သာဖြစ်သည်။ JSON_LAST_ERROR_ERROR_MSG () သည် ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်သာမကစနစ်၏ကြံ့ခိုင်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုသိသိသာသာတိုးတက်အောင်ပြုလုပ်နိုင်သည်။ ဤ function ကို data ည့်ခံခြင်းနှင့် output link များသို့ကျိုးကြောင်းဆီလျော်စွာအသုံးချခြင်းဖြင့်ရှေ့နှင့်နောက်ပိုင်းအဆုံးအကြားဒေတာထုတ်လွှင့်သည့်ပုံစံကိုထိထိရောက်ရောက်ကောင်းမွန်စေသည်။
<span></span>