မျက်မှောက်ခေတ်ကွန်ယက်ဆက်သွယ်မှုတွင်ဆပ်ပြာ (ရိုးရှင်းသောအရာဝတ်ထု access protocol) သည်ဒေတာများကိုထုတ်လွှင့်ခြင်းနှင့်ဖလှယ်ခြင်း၏အဓိကနည်းလမ်းဖြစ်လာသည်။ ၎င်း၏ပြောင်းလွယ်ပြင်လွယ်သည်ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများနှင့်အရာဝတ်ထုအမျိုးမျိုးကိုကိုင်တွယ်ရန်ခွင့်ပြုသည်။ Developer များဖွံ့ဖြိုးတိုးတက်ရေးထိရောက်မှုကိုတိုးတက်စေရန်အတွက်ရှုပ်ထွေးသောဒေတာတည်ဆောက်ပုံနှင့်အရာဝတ်ထုများကိုလုပ်ဆောင်ရန် SOAP ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဆပ်ပြာမက်ဆေ့ခ်ျကိုဖန်တီးရန်နှင့်ဆာဗာသို့ပို့ရန်လိုအပ်သည်။ PHP တွင်ဆပ်ပြာမက်ဆေ့ခ်ျများကိုဖန်တီးရန်နှင့်ဝေးလံသောနည်းလမ်းများဟုခေါ်ဆိုရန် Soapclient Class ကိုသုံးနိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဖန်တီးSoapClientကန့်ကွက်
$client = new SoapClient("http://example.com/service.wsdl");
// ဝေးလံသောနည်းလမ်းများခေါ်ဆိုမှု
$result = $client-> __SOAPCALL ("memponname", Array ($ Param1, $ Param2);
// ပုံနှိပ်ရလဒ် Echo $ ရလဒ်,
>
ဤကုဒ်တွင် "http://exampe.com/service.wsdl" သည်ဆာဗာ၏ WSDL ဖိုင်လိပ်စာဖြစ်သော "methodname" ဟုခေါ်သော "methodname" ဟုခေါ်သောဝေးလံသောနည်းလမ်းအမည်ဖြစ်ပြီး $ Param1 နှင့် $ param2 သည်နည်းလမ်း parameters များဖြစ်သည်။
SOAP သည်ရှုပ်ထွေးသောအချက်အလက်များကိုကိုင်တွယ်သောအဆောက်အအုံများနှင့်အသိုက်အရာဝတ္ထုများကဲ့သို့သောရှုပ်ထွေးသောအချက်အလက်များကိုကိုင်တွယ်သည်။ PHP သည် stdclass လူတန်းစားများမှတဆင့်အရာဝတ်ထုများကိုကိုယ်စားပြုပြီးအသိုက်ဆိုင်ရာအချက်အလက်တည်ဆောက်ပုံများကိုကိုယ်စားပြုရန် Arrays များကိုအသုံးပြုသည်။ ဒီမှာဥပမာတစ်ခုပါ။
<?php
// အသိုက်ဒေတာဖွဲ့စည်းပုံကိုသတ်မှတ်ပါ
$data = array(
"name" => "ဂျွန်",
"အသက်အရွယ်" => 30,
"လိပ်စာ" => Array (
"Street" => "Main St",
"City" => "နယူးယောက်",
"State" => "NY"
)
);
// အသိုက်ဒေတာအဆောက်အ ဦ များ $ အရာဝတ်ထု = (Object) $ ဒေတာအဖြစ်ပြောင်းလဲကြလော့။
// အရာဝတ်ထုကိုဆပ်ပြာမက်ဆေ့ခ်ျကို SOAPMessage = SOAPVAR ($ object, soap_enc_object) ကိုပြောင်းပါ။
// ဆာဗာသို့ SOAP မက်ဆေ့ခ်ျကိုပေးပို့ပါ။ ရလဒ် $ ရလဒ် = $ သုံးစွဲသူ -> __ SOAPCALL ("metterifyname", $ soapcall ("meteptname",
// ပုံနှိပ်ရလဒ် Echo $ ရလဒ်;
>
အထက်ပါကုဒ်တွင်ကျွန်ုပ်တို့သည်အသိုက် data ဖွဲ့စည်းပုံကို ဦး စွာ သတ်မှတ်. ၎င်းကိုအရာဝတ်ထုတစ်ခုအဖြစ်ပြောင်းလဲရန်ဖြစ်သည်။ ထို့နောက် Soapvar အတန်းကိုအရာဝတ်ထုကိုဆပ်ပြာမက်ဆေ့ခ်ျအဖြစ်ပြောင်းလဲရန်နှင့်အပြောင်းအလဲနဲ့အတွက် server သို့ပို့ရန်အသုံးပြုသည်။
ရိုးရှင်းသောဒေတာအဆောက်အအုံများကိုကိုင်တွယ်ရန်အပြင်ဆပ်ပြာသည်ရှုပ်ထွေးသောအရာဝတ်ထုများ၏ကူးစက်မှုကိုထောက်ခံသည်။ PHP တွင်အရာဝတ်ထုများကိုသတ်မှတ်ရန်နှင့်ဆပ်ပြာမက်ဆေ့ခ်ျများမှတဆင့်ကူးစက်ရန်အတန်းများကိုအသုံးပြုသည်။ ဤတွင်အတန်းအစားအဓိပ္ပာယ်ဖွင့်ဆိုချက်နှင့်အရာဝတ်ထုတစ်ခုကိုဆပ်ပြာမက်ဆေ့ခ်ျတစ်ခုသို့ပြောင်းလဲရန်ဥပမာတစ်ခု၏ဥပမာတစ်ခုဖြစ်သည်။
<?php
// အတန်းတစ်ခုသတ်မှတ်ပါ
class Person {
public $name;
public $age;
}
// ဖန်တီး一个ကန့်ကွက်
$person = new Person();
$person-> အမည် = "ယောဟန်";
$ Person-> အသက် 30;
// အရာဝတ်ထုကိုဆပ်ပြာမက်ဆေ့ခ်ျကို SOAPMessage = SOAPVAR ($ ပုဂ္ဂိုလ်, SOAP_CEC_OBJOCT) သို့ပြောင်းပါ။
// ဆာဗာသို့ SOAP မက်ဆေ့ခ်ျကိုပေးပို့ပါ။ ရလဒ် $ ရလဒ် = $ သုံးစွဲသူ -> __ SOAPCALL ("metterifyname", $ soapcall ("meteptname",
// ပုံနှိပ်ရလဒ် Echo $ ရလဒ်,
>
အထက်ပါကုဒ်တွင်လူတစ် ဦး အတန်းအစားကိုပထမ ဦး ဆုံးသတ်မှတ်ပြီးအရာဝတ်ထုတစ်ခုကိုဖန်တီးသည်။ ထို့နောက်အရာဝတ်ထုကိုဆပ်ပြာမက်ဆေ့ခ်ျအဖြစ်ပြောင်းလဲပြီးအပြောင်းအလဲနဲ့အတွက်ဆာဗာသို့ပို့သည်။
PHP ရှိရှုပ်ထွေးသောအချက်အလက်များနှင့်အရာဝတ်ထုများကိုကိုင်တွယ်ရန်မခက်ခဲပါ။ အသိုက်ထားသည့်အချက်အလက်တည်ဆောက်ပုံကိုကိုယ်စားပြုရန်အရာဝတ်ထုများနှင့် array များကိုကိုယ်စားပြုရန် STDCLASS အတန်းကိုသုံးနိုင်သည်။ ဤနည်းပညာများပေါင်းစပ်ခြင်းအားဖြင့် PHP တွင်ဆပ်ပြာဆက်သွယ်ရေးအခြေအနေအမျိုးမျိုးကိုကျွန်ုပ်တို့ပြောင်းလဲစေနိုင်သည်။