XML ဒေတာများကိုပြုပြင်သည့်အခါ PHP သည် XML parser functions များကို XML parser functions များကိုထောက်ပံ့ပေးသည်။ သို့သော် developer များစွာသည်ရှုပ်ထွေးနေသောဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါ မှားယွင်းသော အခြေအနေများနှင့်ကြုံတွေ့ရလိမ့်မည်။
ဤဆောင်းပါးသည် XML_Parser_Get_option သည် မှားယွင်းသော အဘယ်ကြောင့်အဘယ်ကြောင့်နက်ရှိုင်းသောအကြောင်းပြချက်များကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
ပထမ ဦး စွာ XML_Parser_Get_option ကို အသုံးပြုသည်ကိုသုံးသပ်ကြည့်ကြစို့။
$parser = xml_parser_create();
$value = xml_parser_get_option($parser, XML_OPTION_CASE_FOLDING);
အဆိုပါ function ကိုနှစ်ခု parameters တွေကိုလက်ခံသည်:
$ Parser - XML_Parser_Create () မှဖန်တီးထားသော parser အရင်းအမြစ်တစ်ခု။
Option Constants (ဥပမာ xml_option_ asculate_folding , xml_option_target_encoding စသည်) ။
Return Value သည်ဤရွေးချယ်မှုကိုလက်ရှိ setting ကိုဖြစ်ပြီးအမှားတစ်ခုဖြစ်ပါက၎င်းသည် မှားယွင်းသော အရာဖြစ်သည်။
ဒါကအသုံးအများဆုံးပြ problems နာများထဲမှတစ်ခုဖြစ်သည်။ XML_Parser_Get_option သည် မှန်ကန်သော parser အရင်းအမြစ်ပေါ်တွင်မူတည်သည်။ အကယ်. သင်သည် ( XML_Parser_Free_Free_Free_Free_Free_Free_Free) ) ထုတ်ပြန်ခဲ့သော parser ကိုဖြတ်သန်းသွားပါက၎င်းသည် မှားယွင်းစွာ ပြန်ပို့လိမ့်မည်။
ဥပမာ -
$parser = xml_parser_create();
xml_parser_free($parser);
$value = xml_parser_get_option($parser, XML_OPTION_CASE_FOLDING); // ပြန်လာ false
ဖြေရှင်းချက် -
XML_Parser_Get_option ကိုခေါ်သည့်အခါ parser သည်ဆက်လက်တည်ရှိနေတုန်းနှင့်မထုတ်ပြန်ခြင်းသို့မဟုတ် overrwrite မဟုတ်ပါ။
PHP ၏ XML extension သည်ရွေးချယ်မှုသုံးခုကိုသာထောက်ပံ့သည်။
XML_OPTOOM
xml_option_target_encoding
xml_option_skip_white
မမှန်ကန်သောအဆက်မပြတ်အမည်ကိုကိုယ်တိုင်ကိုယ်ကျစာလုံးပေါင်း string တစ်ခုသို့မဟုတ်မထောက်ပံ့သော option ကဲ့သို့ မှားယွင်းသောအယူမှား လိမ့်မည်။
အမှားဥပမာ -
$value = xml_parser_get_option($parser, "XML_OPTION_INVALID"); // ပြန်လာ false
မှန်ကန်သောအသုံးပြုမှု:
$value = xml_parser_get_option($parser, XML_OPTION_SKIP_WHITE);
မှတ်ချက် - အဆက်မပြတ်အမည်များကို ကိုးကား. မရပါ။
XML_Parser_Get_option ၏ပထမဆုံး pareter သည် xml_parser_create မှတဆင့်ဖန်တီးထားသော parser အရင်းအမြစ်ဖြစ်ရမည်။ ကြိုးတွေ, Arrays တွေ, ဒါမှမဟုတ်အရာဝတ်ထုတွေကိုအလွဲသုံးစားပြုမယ်ဆိုရင် မှားယွင်း လိမ့်မယ်။
အမှားဥပမာ -
$value = xml_parser_get_option("not_a_parser", XML_OPTION_CASE_FOLDING); // ပြန်လာ false
ဖြေရှင်းချက် -
XML_Parser_Create () မှဖန်တီးထားသောဥပဒေရေးရာခွဲခြမ်းစိတ်ဖြာမှုများကိုဖန်တီးထားကြောင်းသေချာအောင်လုပ်ပါ။
ရှားရှားပါးပါးဖြစ်ရပ်များတွင် PHP ၏ XML extension ကိုဖွင့ ်. မရပါ ,
စမ်းသပ်နည်းလမ်း:
phpinfo(); // အဲဒါကိုဖွင့်ထားရှိမရှိစစ်ဆေးပါ XML support
မဖွင့်ပါက၎င်းကို php.ini တွင်၎င်းကိုဖွင့်နိုင်သည်။
extension=xml
ထို့နောက်ဆာဗာကိုပြန်လည်စတင်ပါ။
ဤ ပြ problem နာကိုပိုမိုကောင်းမွန်စွာ debug လုပ်ရန်,
if (!is_resource($parser)) {
echo "အားမရှိသော XML parser အရင်းအမြစ်များ";
} else {
$value = xml_parser_get_option($parser, XML_OPTION_CASE_FOLDING);
if ($value === false) {
echo "configuration ကိုရရန်ပျက်ကွက်";
} else {
echo "configuration တန်ဖိုးများ:" . $value;
}
}
ထို့အပြင် var_dump () ကို အသုံးပြုခြင်းသည်သင့်အားပိုမိုရှင်းလင်းသောတန်ဖိုးကိုပိုမိုရှင်းလင်းစွာကြည့်ရှုရန်ခွင့်ပြုသည်။
သင်အွန်လိုင်း XML verification tool ကိုတည်ဆောက်နေသည်ဆိုပါစို့။
$url = 'https://gitbox.net/tools/xml-checker';
$parser = xml_parser_create();
$value = xml_parser_get_option($parser, XML_OPTION_CASE_FOLDING);
Parser သည်မှန်ကန်ကြောင်းသေချာစေပါ။
XML_Parser_Get_option သည် များသောအားဖြင့်အောက်ပါအခြေအနေများကြောင့်ဖြစ်ရတဲ့ မှားယွင်းတဲ့ အကျိုးကိုရတယ်။
မမှန်ကန်သောသို့မဟုတ်ဖျက်ဆီးခံရသော parser ကိုလွန်ခဲ့သည်။
မမှန်ကန်သောရွေးချယ်မှုစဉ်ဆက်မပြတ်အသုံးပြုခဲ့သည်;
ပထမ ဦး ဆုံး parameter သည်အမျိုးအစားမှားသည်;
PHP အတွက် XML extension ကို enable မလုပ်ပါနဲ့။
ဤအသေးစိတ်အချက်အလက်များကိုကျွမ်းကျင်ပြီးကုဒ်ကိုပေါင်းစပ်ပြီးကုဒ်များကိုပေါင်းစပ်ခြင်းဖြင့်ပြ problems နာများကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်သည်။ သင်၏ XML ဖွံ့ဖြိုးရေးလမ်းကြောင်းအတွက်ဤဆောင်းပါးသည်အတားအဆီးများကိုရှင်းလင်းနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါ။