Maison > développement back-end > tutoriel php > Introduction détaillée à un exemple de code pour développer des services Web en PHP

Introduction détaillée à un exemple de code pour développer des services Web en PHP

黄舟
Libérer: 2023-03-06 15:28:02
original
3210 Les gens l'ont consulté

PHP Development WebServices

WSO2 WSF/PHP (WSO2 Web Services Framework/PHP, WSO2 Web Services Framework) est une extension PHP qui permet de créer et utiliser des services Web. Il prend en charge SOAP1.1, SOAP1.2, MTOM, l'adressage des services Web, la sécurité des services Web et prend également en charge les appels de style REST. La dernière version de WSO2 WSF/PHP (v2.0.0) vient de sortir.
Voici un petit guide expliquant comment créer un service de calculatrice simple à l'aide de l'extension WSO2 WSF/PHP.
(Hypothèse : le serveur HTTP Apache a été installé sur votre machine et vous êtes fondamentalement familier avec l'exécution de scripts PHP sur le serveur Apache)

Étape 1 : Installez l'extension WSO2 WSF/PHP
sur Ubuntu ci-dessous , il y a les étapes suivantes :

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
Copier après la connexion

Étape 2 : Écrivez le service de calculatrice
Créez un script nommé CalculatorService.php et placez-le dans la racine Web du serveur HTTP Apache (généralement est /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();
?>
Copier après la connexion

Une fois déployé, il est accessible depuis http://localhost:/CalculatorService.php.

Étape 3 : Écrivez un client de calculatrice
Écrivez à un client pour appeler ce service de calculatrice et imprimer les résultats.
Le script est nommé CalculatorClient.php et placé à la racine web du serveur HTTP Apache.
N'oubliez pas de changer le port du serveur Apache (c'est-à-dire http://www.php.cn/:81/CalculatorService.php) pour qu'il corresponde au serveur.

<?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());
}
}
?>
Copier après la connexion

Étape 4 : Accédez au service
Accédez au service en exécutant CalculatorClient.php comme suit :
http://localhost : < ;port>/CalculatorService.php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal