Dalam pembangunan aplikasi web moden, penggunaan SOAP (Simple Object Access Protocol) adalah perkara biasa. SOAP ialah protokol berkod XML untuk bertukar maklumat berstruktur melalui web. Artikel ini akan memperkenalkan cara menggunakan SOAP dalam PHP, termasuk cara mencipta klien SOAP dan pelayan SOAP.
1. Kenapa guna SABUN?
SOAP ialah protokol untuk bertukar-tukar data melalui Internet. Ia membenarkan aplikasi berkomunikasi melalui mesej XML dan oleh itu popular di kalangan aplikasi merentas platform. SOAP menggunakan HTTP atau HTTPS untuk pengangkutan, jadi ia boleh berkomunikasi antara komputer yang berbeza melalui Internet.
SOAP ialah protokol deskriptif yang menggunakan WSDL (Bahasa Penerangan Perkhidmatan Web) untuk menerangkan perkhidmatan. WSDL ialah dokumen berformat XML yang mengandungi penerangan terperinci antara muka dan kaedah. Menggunakan WSDL, pelanggan boleh mengetahui dengan cepat tentang operasi dan parameter yang boleh dilakukan pada pelayan jauh. Oleh itu, SOAP boleh digunakan untuk mencipta perkhidmatan Web yang boleh diedarkan.
2. Cipta klien menggunakan SOAP
Langkah-langkah untuk mencipta klien SOAP adalah seperti berikut:
$client = new SoapClient("http://www.example.com/webservicedoc.wsdl");
$result = $client->add(2, 3); echo $result;
Dalam sampel kod di atas, kami telah memanggil kaedah add() dalam perkhidmatan web dan lulus dua parameter. Pelayan akan memproses parameter ini dan mengembalikan hasilnya. Dalam contoh ini, pelayan akan mengembalikan 5, yang disimpan dalam pembolehubah $result.
3. Cipta pelayan menggunakan SOAP
Untuk mencipta pelayan menggunakan SOAP, anda perlu melengkapkan empat langkah berikut:
class MyService { function add($a, $b) { return $a + $b; } } $server = new SoapServer("http://www.example.com/webservicedoc.wsdl"); $server->setClass("MyService"); $server->handle();
Dalam contoh di atas, kami mencipta kelas yang dipanggil MyService dan melaksanakan kaedah yang dipanggil "tambah". Kaedah ini menambah dua hujah dan mengembalikan hasilnya. Kami kemudian mencipta objek pelayan SOAP bernama $server dan menyuruhnya menggunakan kelas MyService untuk mengendalikan permintaan masuk.
$uri = "http://www.example.com/webservice.php"; $server = new SoapServer("http://www.example.com/webservicedoc.wsdl"); $server->setClass("MyService"); $server->setEndpoint($uri); $server->handle();
Dalam contoh di atas, kami akan mengikat URI http://www.example.com/webservice.php ke pelayan SOAP.
$uri = "http://www.example.com/webservice.php"; $server = new SoapServer("http://www.example.com/webservicedoc.wsdl"); $server->setClass("MyService"); $server->setEndpoint($uri); $server->handle(); $client = new SoapClient("http://www.example.com/webservicedoc.wsdl"); $result = $client->__soapCall("add", [2, 3]); echo $result;
Dalam contoh di atas, kami menggunakan fungsi SoapServer() untuk menerbitkan perkhidmatan SOAP ke Web. Kami kemudian mencipta objek klien SOAP bernama $client dan memanggil kaedah jauh untuk ujian.
Kesimpulan
SOAP ialah protokol yang boleh bertukar-tukar maklumat berstruktur melalui rangkaian. Menggunakan SOAP dalam php, anda boleh membuat pelayan SOAP dan klien SOAP untuk melaksanakan perkhidmatan web. Menggunakan WSDL untuk menerangkan antara muka dan kaedah perkhidmatan web, pelanggan boleh memahami kaedah dan parameter yang akan dipanggil dengan mudah. Berbanding dengan protokol perkhidmatan web lain, seperti RESTful, SOAP mempunyai banyak ciri lanjutan, seperti pengurusan transaksi dan pengendalian ralat. Apabila anda perlu membina perkhidmatan web yang selamat, berkuasa dan fleksibel, atur program dengan SOAP.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan SOAP dengan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!