<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဒီစာပိုဒ်မှာစာသားရဲ့အကြောင်းအရာတွေနဲ့ဘာမှမဆိုင်ပါဘူး,သာဥပမာ placeholder အတွက်သာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Debugging စတင်သည်...\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
ဆုတ်ဘေါက် xml_set_notation_decl_handler လုပ်ဆောင်ချက်များကိုအသုံးပြုသောအခါဘုံအကြံဥာဏ်များနှင့်လက်တွေ့ကျသောနည်းလမ်းများကဘာတွေလဲ?
တည်နေ PHP အတွက်အသုံးပြုခဲ့သည် XML function ကိုခွဲခြမ်းစိတ်ဖြာတဲ့အခါ,xml_set_notation_decl_handler ဒါဟာအလွန်အရေးကြီးသော callback function ကိုဖြစ်ပါတယ်,အပြောင်းအလဲနဲ့အဘို့ XML စာရွက်စာတမ်းများတွင်ကြေငြာသောသင်္ကေတများ(Notation)。တည်နေဆုတ်ဘေါက်这个函数时,အချို့သောသိကောင်းစရာများနှင့်လက်တွေ့ကျသောနည်းလမ်းများကျွမ်းကျင်မှုများကပြ problems နာများကိုပိုမိုထိရောက်စွာတိုးတက်စေရန်အတွက်ကျွန်ုပ်တို့ကိုကူညီနိုင်ပြီး Code ကိုပိုမိုထိရောက်စွာတိုးတက်အောင်ပြုလုပ်နိုင်သည်。以下是ဆုတ်ဘေါက်该函数的几个常见技巧:
</span><span><span class="hljs-number">1</span></span><span>. **callback function ကိုမှန်ကန်စွာလက်မှတ်ရေးထိုးကြောင်းအတည်ပြုပါ**
xml_set_notation_decl_handler လိုအပ်သော callback function ကို fixed parameter သည် format ရှိသည်:
```php
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">notation_decl_handler</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$parser</span></span></span><span>, </span><span><span class="hljs-variable">$notationName</span></span><span>, </span><span><span class="hljs-variable">$base</span></span><span>, </span><span><span class="hljs-variable">$systemId</span></span><span>, </span><span><span class="hljs-variable">$publicId</span></span><span>) {
</span><span><span class="hljs-comment">// ထုတ်ယူခြင်းကုဒ်</span></span><span>
}
</span></span>Debugging လုပ်သည့်အခါ callback function parametersters ၏နံပါတ်နှင့်အမိန့်ကိုသေချာစစ်ဆေးပါ။
အမှားအယွင်းများနှင့်ခြွင်းချက်ဖမ်းယူပါ
PHP အမှားအယွင်းများကိုဖွင့ ်. XML ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါဖြစ်နိုင်ချေရှိသောအမှားများကိုဖမ်းမိကြောင်းသေချာစေပါ။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-title function_ invoke__">libxml_use_internal_errors</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$xmlParser</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_parser_create</span></span><span>();
</span><span><span class="hljs-title function_ invoke__">xml_set_notation_decl_handler</span></span><span>(</span><span><span class="hljs-variable">$xmlParser</span></span><span>, </span><span><span class="hljs-string">'notation_decl_handler'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">xml_parse</span></span><span>(</span><span><span class="hljs-variable">$xmlParser</span></span><span>, </span><span><span class="hljs-variable">$xmlData</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>)) {
</span><span><span class="hljs-variable">$errorCode</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_get_error_code</span></span><span>(</span><span><span class="hljs-variable">$xmlParser</span></span><span>);
</span><span><span class="hljs-variable">$errorString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_error_string</span></span><span>(</span><span><span class="hljs-variable">$errorCode</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှားခွဲခြမ်းစိတ်ဖြာခြင်း: <span class="hljs-subst">$errorString</span></span></span><span>\n";
}
</span><span><span class="hljs-title function_ invoke__">xml_parser_free</span></span><span>(</span><span><span class="hljs-variable">$xmlParser</span></span><span>);
</span></span>၎င်းသည်ခွဲခြမ်းစိတ်ဖြာမှုလုပ်ငန်းစဉ်အတွင်းအမှားအယွင်းများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနိုင်ပြီး callback function ကိုခေါ်သည်။
debugging သတင်းအချက်အလက်ပုံနှိပ်ပါ
အချက်အလက်များမျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိအတည်ပြုရန် callback function ကိုအတည်ပြုရန် callback function ရှိအားလုံးကိုပုံနှိပ်ပါ။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">notation_decl_handler</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$parser</span></span></span><span>, </span><span><span class="hljs-variable">$notationName</span></span><span>, </span><span><span class="hljs-variable">$base</span></span><span>, </span><span><span class="hljs-variable">$systemId</span></span><span>, </span><span><span class="hljs-variable">$publicId</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Notation Name: <span class="hljs-subst">$notationName</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Base: <span class="hljs-subst">$base</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"System ID: <span class="hljs-subst">$systemId</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Public ID: <span class="hljs-subst">$publicId</span></span></span><span>\n";
}
</span></span>၎င်းသည် callback ကိုအစပျိုးခြင်းနှင့် parameter ပါသောအကြောင်းအရာများကိုဖြတ်သန်းသွားစေခြင်းရှိမရှိအတည်ပြုရန်ကူညီနိုင်သည်။
Document တွင်သင်္ကေတကြေငြာချက်ရှိကြောင်းသေချာပါစေ
XML_SESS_NOTTUCE_DECL_Handler ကို <! မှတ်စုများ ... > ကြေငြာချက်တစ်ခုတွင်ဖော်ပြထားမှသာဖြစ်သည်။ Debugging လုပ်သည့်အခါတွင်စမ်းသပ် XML ဖိုင်တွင်သင်္ကေတကြေငြာချက်များပါ 0 င်ကြောင်းသေချာစွာအတည်ပြုပါ။
အဆင့် -by-step ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ယူနစ်စမ်းသပ်ခြင်း
ရှုပ်ထွေးသော XML ဖိုင်ကိုပိုမိုရိုးရှင်းသောအစိတ်အပိုင်းများသို့ခွဲထုတ်ပါ။ သို့မဟုတ် local back function တွင်လွတ်လပ်သောယူနစ်စမ်းသပ်မှုများကိုရေးပါ,
debugging tools တွေကိုအသုံးပြုပါ
XDebug ကဲ့သို့သော PHP Debugggers များကိုအသုံးပြုခြင်း XDebug, breakpoints များကို Callback Exitution Status နှင့် Variable တန်ဖိုးများကိုအမှန်တကယ်အချိန်မှန်တွင်ကြည့်ရှုရန်သတ်မှတ်ထားသည်။
တရားဝင်စာရွက်စာတမ်းများနှင့်ရပ်ရွာဥပမာများကိုကြည့်ပါ
တရားဝင် PHP လက်စွဲစာအုပ်တွင် XML_SEST_NOTTATION_DECL_Handler ၏နိဒါန်းအတော်လေးသည်အတော်လေးတိုတောင်းသည်။ SHOXML2 စာကြည့်တိုက်မှတ်တမ်းနှင့် Community Blog ဥပမာများကိုအခြေခံသည့်ယန္တရားနှင့်ခေါ်ဆိုမှုအခြေအနေများကိုနားလည်ရန် Community Blog ဥပမာများကိုပေါင်းစပ်ရန်အကြံပြုသည်။
အကျဉ်းချုပ်:
Debugging XML_SEST_NOTTATOUTER_DECL_Handler ကိုအဓိကအားဖြင့် Collback function ၏ parameter ၏မှန်ကန်မှုကိုအဓိကထားသည်။ အမှားရိုက်ကူးခြင်းနှင့် debugging ကိရိယာများဖြင့်ပြ problems နာများသည်လျင်မြန်စွာတည်ရှိပြီးသင်္ကေတကြေငြာချက်ဆိုင်ရာအကြံပြုချက်များကိုမှန်ကန်ကြောင်းသေချာစေနိုင်သည်။
<span></span>