PHP တွင် XML ဒေတာများကိုလုပ်ဆောင်သည့်အခါများသောအားဖြင့်သင်သည်များသောအားဖြင့်အခြေအနေအမျိုးမျိုးနှင့်ကြုံတွေ့ရလေ့ရှိသည်။ အကယ်. သင်သည် XML ဖိုင်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းသတ်သတ်မှတ်မှတ်အပြောင်းအလဲနဲ့ညွှန်ကြားချက်များအပေါ်စိတ်ကြိုက်အပြုအမူကိုလုပ်ဆောင်လိုပါက XML_SET_Processing_instruction_instruction_INSUCTER_Handler function သည်အသုံးဝင်သည်။
XML စာရွက်စာတမ်းများတွင်ပြုပြင်ခြင်းညွှန်ကြားချက်များသည် xml ၏အချက်အလက်များနှင့်မသက်ဆိုင်သောအသုံးချပရိုဂရမ်များနှင့်မသက်ဆိုင်သော applications များသို့ပေးသည့်ညွှန်ကြားချက်များအတွက်အသုံးပြုသောဖွဲ့စည်းပုံကိုမကြာခဏအသုံးပြုလေ့ရှိသည်။ ညွှန်ကြားချက်များပြုလုပ်ရန် syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-meta"><?target data?></span></span><span>
</span></span>
ပစ်မှတ် ညွှန်ကြားချက်၏ပစ်မှတ်ကိုရည်ညွှန်းသည်။
ဒေတာ သည် command target တွင်ပူးတွဲပါရှိသည်။
ဥပမာအားဖြင့်အောက်ပါသည် XML စာရွက်စာတမ်းတစ်ခုအတွက်အပြောင်းအလဲနဲ့ညွှန်ကြားချက်ဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-meta"><?php echo "Hello, World!"; ?></span></span><span>
</span></span>
ဤညွှန်ကြားချက်သည် PHP code ကို execute လုပ်ရန် Processor ကိုပြောသော်လည်း၎င်းသည် XML အချက်အလက်များ၏အစိတ်အပိုင်းမဟုတ်ပါ။
XML စာရွက်စာတမ်းများခွဲခြမ်းစိတ်ဖြာသည့်အခါ PHP သည်၎င်းတို့အားမည်သို့ကိုင်တွယ်ရမည်ကိုမပြောလျှင် PHP သည်ပုံမှန်အားဖြင့်ညွှန်ကြားချက်များကိုပုံမှန်အားဖြင့်မပေးချေ။ ယခုအချိန်တွင် XML_SET_STESSING_INSUCTER_Handler သည် အသုံးဝင်သည်။ ဒီ function ကိုမှတစ်ဆင့် XML ခွဲခြမ်းစိတ်ဖြာနေစဉ်အတွင်းအပြောင်းအလဲနဲ့ညွှန်ကြားချက်များကြုံတွေ့ရသည့်အခါခေါ်ဆိုမှုကိုသင်မှတ်ပုံတင်နိုင်သည်။ ဤနည်းအားဖြင့်သင်သည်၎င်းတို့အားကျော်သွားရုံမျှသာမဟုတ်ဘဲညွှန်ကြားချက်များကိုကိုင်တွယ်ခြင်း၏အပြုအမူကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
xml_set_processing_instruction_instruction_handler function ကို၏လက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">xml_set_processing_instruction_handler</span></span><span> ( resource </span><span><span class="hljs-variable">$parser</span></span><span> , </span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$handler</span></span><span> )
</span></span>
$ parser : XML parser အရင်းအမြစ်တစ်ခုဖြစ်သော XML_Parser_Create () မှတဆင့်ဖန်တီးထားသော XML parser အရင်းအမြစ်ဖြစ်သည်။
$ handler - ခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းအပြောင်းအလဲနဲ့ညွှန်ကြားချက်များကြုံတွေ့ရသည့်အခါဟုခေါ်သော callback function ကိုဖြစ်သည်။
callback function ကို parameters နှစ်ခုကိုလက်ခံရရှိသည်:
$ Target : အပြောင်းအလဲနဲ့ညွှန်ကြားချက်၏ပစ်မှတ် (XML ရှိ ပစ်မှတ်ထား အပိုင်း) ၏ပစ်မှတ်။
$ ဒေတာ : ညွှန်ကြားချက်၏အကြောင်းအရာ (XML ရှိ ဒေတာ အပိုင်း) ၏အကြောင်းအရာကိုလုပ်ဆောင်ပါ။
XML_SET_Processing_instruction_instructer_Handler ကိုဘယ်လိုသုံးရမလဲဆိုတာပြတဲ့ဥပမာတစ်ခုပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဖန်တီး XML မိစ်ဆာ</span></span><span>
</span><span><span class="hljs-variable">$parser</span></span><span> = </span><span><span class="hljs-title function_ invoke__">xml_parser_create</span></span><span>();
</span><span><span class="hljs-comment">// ညွှန်ကြားချက်များကိုကိုင်တွယ်သော callback function ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">handle_processing_instruction</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$target</span></span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အပြောင်းအလဲနဲ့ညွှန်ကြားချက်များ၏ပစ်မှတ်:<span class="hljs-subst">$target</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ညွှန်ကြားချက်အချက်အလက်များထုတ်ယူခြင်း:<span class="hljs-subst">$data</span></span></span><span>\n";
}
</span><span><span class="hljs-comment">// အပြောင်းအလဲနဲ့ညွှန်ကြားချက်၏အပြောင်းအလဲနဲ့ function ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">xml_set_processing_instruction_handler</span></span><span>(</span><span><span class="hljs-variable">$parser</span></span><span>, </span><span><span class="hljs-string">'handle_processing_instruction'</span></span><span>);
</span><span><span class="hljs-comment">// ခွဲခြမ်းစိတ်ဖြာခံရဖို့ XML ကြိုး</span></span><span>
</span><span><span class="hljs-variable">$xml</span></span><span> = <span class="hljs-string">'<?xml version="1.0" encoding="UTF-8"?>
<?php echo "Hello, World!"; ?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don'</span>t forget me this weekend!</body>
</note><span class="hljs-string">';
// သုံးသပ်ကြည့်ရှုခြင်း XML
if (!xml_parse($parser, $xml, true)) {
die(sprintf("XMLသုံးသပ်ကြည့်ရှုခြင်း错误: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)));
}
// 释放မိစ်ဆာ
xml_parser_free($parser);
?>
</span></span></span>
<span><span>အပြောင်းအလဲနဲ့ညွှန်ကြားချက်များ၏ပစ်မှတ်:php
ညွှန်ကြားချက်အချက်အလက်များထုတ်ယူခြင်း:echo "Hello, World!";
</span></span>
ဤဥပမာတွင်အပြောင်းအလဲနဲ့လမ်းညွှန် <? Php Echo "Hello, World!"; ?> XML တွင် callback function ကိုဖမ်းယူခြင်းနှင့်ညွှန်ကြားချက်၏ပစ်မှတ်နှင့်ဒေတာများကိုထုတ်ယူသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် processing ညွှန်ကြားချက်များကို XML ဖိုင်များ၏လုပ်ဆောင်မှုစီးဆင်းမှုစီးဆင်းမှုကိုထိန်းချုပ်ရန်သို့မဟုတ် applications များကို applications များသို့လွှဲပြောင်းရန်ညွှန်ကြားချက်များကို အသုံးပြု. အသုံးပြုနိုင်သည်။ XML_set_processing_instruction_Instruction_Hander ကို အသုံးပြုခြင်းကသင့်အားဤညွှန်ကြားချက်များကိုအလွယ်တကူလုပ်ဆောင်ရန်နှင့်သင်လိုအပ်သည့်မည်သည့်ယုတ္တိဗေဒကိုမဆိုလုပ်ဆောင်ရန်ခွင့်ပြုသည်။
ဥပမာအားဖြင့်, သင်သည် dynamic ညွှန်ကြားချက်များပါ 0 င်သော XML ဖိုင်တစ်ခုတွင်လုပ်ဆောင်နေသည်ဆိုပါစို့။ သင်သည်ဤညွှန်ကြားချက်များကိုခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးစိတ်ကြိုက်ခေါ်ဆိုမှုလုပ်ဆောင်ချက်များမှတစ်ဆင့်လိုအပ်သောလုပ်ငန်းများကိုလုပ်ဆောင်နိုင်သည်။
xml_set_processing_instruction_handler ကိုအသုံးပြုပြီးဘယ်အချိန်မှာ callback function ကိုတစ်ခုချင်းစီကိုညွှန်ကြားချက်တစ်ခုစီ၏ပစ်မှတ်များနှင့်အချက်အလက်များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ကြောင်းသေချာပါစေ။
အကယ်. သင်၏ XML စာရွက်စာတမ်းတွင်အပြောင်းအလဲများသောညွှန်ကြားချက်များစွာပါ 0 င်ပါက callback function ကိုတစ်ခုချင်းစီအတွက်တစ်ကြိမ်ကွပ်မျက်ခံရလိမ့်မည်။
မှတ်ဉာဏ်ယိုစိမ့်မှုကိုရှောင်ရှားရန်ခွဲခြမ်းစိတ်ဖြာပြီးနောက်ခွဲခြမ်းစိတ်ဖြာပြီးနောက် parser ကိုလွှတ်ပေးရန်သေချာပါစေ။
xml_set_processing_instruction_instruction_handler function သည် PHP developer များကို XML ခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းအပြောင်းအလဲနဲ့ညွှန်ကြားချက်များကိုထိန်းချုပ်ရန်ပြောင်းလွယ်ပြင်လွယ်နည်းလမ်းများဖြင့်ပေးသည်။ callback function ကိုမှတ်ပုံတင်ခြင်းအားဖြင့်, သင်၏လိုအပ်ချက်များနှင့်အညီအပြောင်းအလဲနဲ့ညွှန်ကြားချက်များကိုသင်ပိုမိုရှုပ်ထွေးသော XML ဒေတာများကိုခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့်ပြုလုပ်နိုင်သည်။ ၎င်းသည် PHP ကိုအထူးလိုအပ်ချက်များနှင့်အတူ XML စာရွက်စာတမ်းများကိုကိုင်တွယ်သောအခါ PHP ကိုပိုမိုထိရောက်စွာနှင့်ပြောင်းလွယ်ပြင်လွယ်စေသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
XML