Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erläuterung zum Erstellen und Aufrufen von Webservice-Schnittstelleninstanzen in PHP

Ausführliche Erläuterung zum Erstellen und Aufrufen von Webservice-Schnittstelleninstanzen in PHP

伊谢尔伦
伊谢尔伦Original
2017-07-03 10:45:112824Durchsuche

Wenn Sie als Entwickler eine Webservice-Schnittstelle schreiben oder die Webservice-Schnittstelle einer anderen Person aufrufen möchten, müssen Sie zunächst verstehen, was ein Webservice ist. Einfach ausgedrückt ist WebService ein Dienst, der von einigen Websites geöffnet wird, oder es kann sich um einen von Ihnen entwickelten Dienst handeln, d Die Site empfängt Ihre Anfrage, führt einige Verarbeitungen basierend auf den übergebenen Parametern durch und sendet Ihnen dann die verarbeiteten Ergebnisse in XML-Form zurück. Ihr Programm analysiert sie dann und führt sie anders aus Bedienung.

Sie müssen beim Schreiben von Webdiensten Folgendes verstehen: Die grundlegende Webdienstplattform ist XML + HTTP; außerdem sind die Elemente der Webdienstplattform: SOAP (Simple Object Access Protocol). ), UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language); jeder Webservice umfasst einen Client und einen Server. Im Folgenden wird anhand von Beispielen erklärt, wie Sie mit PHP eine Webservice-Schnittstelle schreiben, die andere aufrufen können:

Zuerst müssen Sie eine .wsdl-Datei erstellen. Wie erstellt PHP diese Datei? . Es gibt zwei Möglichkeiten, dies zu erreichen: Eine besteht darin, es direkt mit dem Zend Studio-Tool zu generieren. Die andere besteht darin, mithilfe von PHP automatisch eine WSDL-Datei basierend auf SoapDiscovery.class.php zu generieren. Ersteres verwende ich im Allgemeinen schnell. Lassen Sie uns aufschreiben, wie Sie mithilfe einer Klasse eine WSDL-Datei generieren. Zuerst müssen Sie die Klassendatei aus dem Internet herunterladen und sich dann nach dem Importieren der Klassendatei den folgenden Code ansehen:
creat_wsdl.php

Der Code lautet wie folgt:

<?php
include_once(&#39;Service.php&#39;);
include_once(&#39;SoapDiscovery.class.php&#39;);
$wsdl=new SoapDiscovery(&#39;Service&#39;,&#39;soap&#39;);//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写
$wsdl->getWSDL();
?>


Führen Sie die Datei creat_wsdl.php auf diese Weise aus, um eine WSDL-Datei zu generieren. Ist das nicht ganz einfach?
Jeder Webservice muss an eine Implementierungsklasse gebunden sein. Mit anderen Worten, die eigentliche Funktion der von anderen aufgerufenen WSDL-Datei besteht darin, die Methoden in der Klasse zu implementieren. Der folgende Code ist die Serverklassendatei
Service.php

Der Code lautet wie folgt folgt:

<?php
class Service
{
public function Hello()
{
echo &#39;hello good&#39;;
}
public function Add($a,$b)
{
return $a+$b;
}
}
$server=SoapServer(&#39;Service.php&#39;,array(&#39;soap_version&#39;=>soap_1_2));
$server->setClass(&#39;Service&#39;);//注册Service类的所有方法
$server->handle();//处理请求
?>

Nachdem Sie die Server- und WSDL-Dateien geschrieben haben, müssen Sie sie vom Client aus aufrufen. Bitte sehen Sie sich den Client-Aufrufcode an:

client.php

Der Code lautet wie folgt:

<?php
ini_set(&#39;soap.wsdl_cache_enabled&#39;,&#39;0&#39;);//关闭缓存
$soap=new SoapClient(&#39;http://127.0.0.1/soap/Service.php?wsdl&#39;);
echo $soap->Add(1,2);
//echo $soap->_soapCall(&#39;Add&#39;,array(1,2))//或者这样调用也可以
?>

Dies ist ein vollständiger Beispielcode zum Schreiben einer Webservice-Schnittstelle und Aufrufen, ich hoffe, es wird für diejenigen hilfreich sein, die PHPER benötigen;
Dann ist das Aufrufen der Webservice-Schnittstelle anderer Leute der von client.php geschriebene Code.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung zum Erstellen und Aufrufen von Webservice-Schnittstelleninstanzen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn