PHP နှင့် XML: SOAP မက်ဆေ့ခ်ျများကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာနည်း
ယေဘုယျအမြင်
ဆပ်ပြာ (ရိုးရှင်းသောအရာဝတ်ထု access protocol) သည် XML စာများကိုကွန်ယက်ပေါ်တွင်ဖော်ပြရန်အတွက် protocol တစ်ခုဖြစ်သည်။ 0 န်ဆောင်မှုများနှင့်ဖြန့်ဝေသောစနစ်များတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ PHP သည် Superap Messages ကိုဆက်လက်လုပ်ဆောင်ရန်အတွက် developer များအားလွယ်ကူချောမွေ့စေရန်အတွက် built-in support extension များကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PHP ကို အသုံးပြု. ဆပ်ပြာမက်ဆေ့ခ်ျများကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာနိုင်ကြောင်းနှင့်လက်တွေ့ကျကျကုဒ်များဥပမာများပါဝင်သည်။
အဆင့် 1 - ဆပ်ပြာ extension များကို install လုပ်ပြီးဖွင့်ပါ
ပထမ ဦး စွာဆပ်ပြာ extension များကို install လုပ်ပြီး PHP ပတ်ဝန်းကျင်တွင်တပ်ဆင်ပြီးဖွင့်ထားကြောင်းသေချာပါစေ။ ၎င်းကိုနည်းလမ်းနှစ်မျိုးဖြင့်ပြုလုပ်နိုင်သည်။
နည်းလမ်း 1 - PHP configuration file ကိုပြုပြင်မွမ်းမံပါ
PHP configuration file (php.ini) ကိုဖွင့်ပါ။ အောက်ပါလိုင်းကိုရှာပြီးမှတ်ချက်အမှတ်အသားကိုဖယ်ရှားပါ ";
; extension = ဆပ်ပြာ
မှပြုပြင်မွမ်းမံ
extension = ဆပ်ပြာ
အပြောင်းအလဲများကိုအကျိုးသက်ရောက်စေရန်ဝက်ဘ်ဆာဗာကိုပြန်လည်စတင်ပါ။
Method 2 - Command line တွင်ဆပ်ပြာတိုးချဲ့ခြင်းကိုဖွင့်ပါ
အောက်ပါ command ကို terminal သို့မဟုတ် command prompt မှာ execute:
$ PHP -D extension = soap သင့် -sc.php ဆပ်ပြာ
ဤနည်းလမ်းသည် scripts များကွပ်မျက်သည့်အခါဆပ်ပြာတိုးချဲ့မှုများကိုယာယီခွင့်ပြုသည်။
အဆင့် 2 - ဆပ်ပြာသုံးစွဲသူအရာဝတ်ထုတစ်ခုကိုဖန်တီးပါ
PHP တွင် Soapclient Class ကို အသုံးပြု. ဆပ်ပြာသုံးစွဲသူအရာဝတ်ထုများကိုဖန်တီးနိုင်သည်, WSDL ဖိုင် URL သို့မဟုတ်ဆပ်ပြာဝန်ဆောင်မှု endpoint url ကိုသတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်:
$ client = soapclient (http://example.com/soap.wsdl ");
အဆင့် 3: ဆပ်ပြာနည်းလမ်းကိုခေါ်။ တုန့်ပြန်မှုကိုဆန်းစစ်ပါ
ဆပ်ပြာနည်းလမ်းကိုခေါ်ဆိုရန် SOAP client ကို အသုံးပြု. Parameters များ၌ Pass ကိုသွားပြီးတုံ့ပြန်မှုကိုရယူရန် SOAP ကိုအသုံးပြုပါ။
$ ရလဒ် = $ client-> somesoapmethod ($ parameters တွေကို);
ခေါ်ဆိုမှုအောင်မြင်ပြီးနောက် $ ရလဒ်တွင်ဆပ်ပြာတုံ့ပြန်မှုပါရှိသည်။ ပြန်လာသော XML ဒေတာများကို Simplexmlelelege အတန်းအစား၏အကူအညီဖြင့်ခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
$ တုံ့ပြန်မှု = SimplexMlelement ($ ရလဒ်),
ထို့နောက် $ တုန့်ပြန်မှုအရာဝတ်ထုမှတဆင့်တိကျသောဒေတာများကိုရယူပါ။
$ Value = $ Response-> Somenode -> Prodevalue;
ကူညီသူလုပ်ဆောင်ချက်များကို - အမည်စာရင်းများကိုကိုင်တွယ်ပါ
ဆပ်ပြာမက်ဆေ့ခ်ျများရှိ node များသည်များသောအားဖြင့် namespace ရှေ့ဆက်များရှိပြီးခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းခွဲခြားထားရန်လိုအပ်သည်။ namespace node များကိုကိုင်တွယ်ရန်ဥပမာလုပ်ဆောင်ချက်များကိုဤတွင်ဖော်ပြထားသည်။
parsenamespenesnode ($ node, $ namespace, $ nodename) function ကို function
$ namespennode = $ node-> ကလေးများ ($ namespace) -> {$ nodename};
ပြန်လာ (string) $ namespennode;
}
အသုံးပြုမှုဥပမာ -
$ Value = parsenamespenesnode ($ တုံ့ပြန်မှု, "http://example.com/namesace", "Somenode");
ဘယ်မှာ " http://example.com/nnameSpace" သည် Namespace URL နှင့် "Somenode" သည်ပစ်မှတ် node အမည်ဖြစ်သည်။
အကျဉ်းချုပ်
ဆပ်ပြာမက်ဆေ့ခ်ျများကို PHP ၏ဆပ်ပြာတိုးချဲ့မှုနှင့် XML ခွဲခြမ်းစိတ်ဖြာစွမ်းရည်များမှတဆင့်အလွယ်တကူပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်ဆပ်ပြာသက်တမ်းတိုးရန်မည်သို့တပ်ဆင်ရမည်, SOAP 0 န်ဆောင်မှုခံယူသူအရာဝတ်ထုများကိုမည်သို့ဖန်တီးရမည်, တစ်ချိန်တည်းမှာပင်၎င်းသည်ရှုပ်ထွေးသောဆပ်ပြာတည်ဆောက်ပုံများကိုကိုင်တွယ်ဖြေရှင်းရန် developer များနှင့်အထောက်အကူပြုသောအမည်များကိုကိုင်တွယ်ရန်အထောက်အကူပြုလုပ်ဆောင်မှုများကိုထောက်ပံ့ပေးသည်။ ဤနည်းစနစ်များကိုကျွမ်းကျင်စေခြင်းသည်ဆပ်ပြာအခြေပြုဝက်ဘ်ဆိုက်များကိုထိရောက်စွာပေါင်းစပ်ပေးနိုင်သည်။
အထက်ပါနမူနာကုဒ်သည်ဆပ်ပြာမက်ဆေ့ခ်ျများကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည့် PHP developer များအတွက်ရည်ညွှန်းသည်။ စီမံကိန်းလိုအပ်ချက်များအရတိကျသောအကောင်အထည်ဖော်မှုကိုချိန်ညှိ။ တိုးချဲ့နိုင်သည်။