Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in Beispielcode für die Entwicklung von Webdiensten in PHP

Detaillierte Einführung in Beispielcode für die Entwicklung von Webdiensten in PHP

黄舟
黄舟Original
2017-03-13 16:36:553203Durchsuche

PHP Development WebServices

WSO2 WSF/PHP (WSO2 Web Services Framework/PHP, WSO2 Web Services Framework) ist eine PHP-Erweiterung, die das Erstellen und ermöglicht Webdienste nutzen. Es unterstützt SOAP1.1, SOAP1.2, MTOM, Web-Service-Adressierung, Web-Service-Sicherheit und unterstützt auch Aufrufe im REST-Stil. Die neueste Version von WSO2 WSF/PHP (v2.0.0) wurde gerade veröffentlicht.
Hier ist eine kurze Anleitung, die erklärt, wie man mit der WSO2 WSF/PHP-Erweiterung einen einfachen Taschenrechnerdienst erstellt.
(Annahme: Der Apache HTTP-Server wurde auf Ihrem Computer installiert und Sie sind grundsätzlich mit der Ausführung von PHP-Skripten auf dem Apache-Server vertraut.)

Schritt 1: Installieren Sie die WSO2 WSF/PHP-Erweiterung
auf Ubuntu Next , gibt es die folgenden Schritte:

1. apt-get install php5
2. apt-get install php5-dev
3. apt-get libapache2-mod-php5
3. apt-get install lib
xml
2
4. apt-get install libxml2-dev
5. 下载 WSF/PHP v2.0.0 并解压到一个目录
6. 在命令行访问该目录,以“root”执行下列命令:
./configure
make
make install
7.  /etc/init.d/apache2 restart

Schritt 2: Rechnerdienst schreiben
Erstellen Sie ein Skript mit dem Namen CalculatorService.php und legen Sie es im Webstammverzeichnis des Apache-HTTP-Servers ab (normalerweise). ist /var/www).

<?php
function calculate($inMessage){
$simplexml = new SimpleXMLElement($inMessage->str);
$operand1  = $simplexml->param1[0];
$operand2  = $simplexml->param2[0];
$operation = $simplexml->param3[0];
if($operation != null)
{
    switch($operation)
    {
         case "add" : $result= $operand1 + $operand2; break;
         case "sub" : $result= $operand1 - $operand2; break;
         case "mul" : $result= $operand1 * $operand2; break;
         case "p" : $result= $operand1 / $operand2; break;
    }
}
$response = <<<XML
        <result>$result</result>
XML;
$returnMsg = new WSMessage($response);
return $returnMsg;
}
$service = new WSService(array("operations" => array("calculate")));
$service->reply();
?>

Nach der Bereitstellung kann über http://localhost:298c9bd6ad6e8c821dc63aa0473d6209/CalculatorService.php darauf zugegriffen werden.

Schritt 3: Schreiben Sie einen Rechner-Client
Schreiben Sie einen Client, um diesen Rechnerdienst aufzurufen und die Ergebnisse auszudrucken.
Das Skript heißt CalculatorClient.php und wird im Webstammverzeichnis des Apache HTTP-Servers abgelegt.
Vergessen Sie nicht, den Port des Apache-Servers (z. B. http://www.php.cn/:81/CalculatorService.php) so zu ändern, dass er mit dem Server übereinstimmt.

<?php
$requestPayload = <<<XML
<calculate>
<param1>100</param1>
<param2>43</param2>
<param3>add</param3>
</calculate>
XML;
try{
$message = new WSMessage($requestPayload,
            array("to" => "http://localhost:81/CalculatorService.php"));
$client = new WSClient();
$response = $client->request($message);    
echo "Answer : $response->str";
}
catch (Exception $e){   
if ($e instanceof WSFault){
  $fault = $e;
  printf("Soap Fault received. Code: &#39;%s&#39; .Reason: &#39;%s&#39;/n",
                  $fault->code, $fault->reason);
}else{
  printf("Exception occurred. Message: &#39;%s&#39;/n", $e->getMessage());
}
}
?>

Schritt 4: Greifen Sie auf den Dienst zu
Greifen Sie auf den Dienst zu, indem Sie CalculatorClient.php wie folgt ausführen:
http://localhost: < ;port>/CalculatorService.php

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Beispielcode für die Entwicklung von Webdiensten 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