ホームページ  >  記事  >  バックエンド開発  >  PHP で Web サービスを開発するためのサンプル コードの詳細な紹介

PHP で Web サービスを開発するためのサンプル コードの詳細な紹介

黄舟
黄舟オリジナル
2017-03-13 16:36:553152ブラウズ

PHP 開発 WebServices

WSO2 WSF/PHP (WSO2 Web Services Framework/PHP、WSO2 Web Services Framework) は、Web サービスを作成して使用できるようにする PHP 拡張機能です。 SOAP1.1、SOAP1.2、MTOM、Web サービス アドレッシング、Web サービス セキュリティをサポートし、REST スタイルの呼び出しもサポートします。 WSO2 WSF/PHP の最新バージョン (v2.0.0) がリリースされました。
ここでは、WSO2 WSF/PHP 拡張機能を使用して簡単な電卓サービスを作成する方法を説明する短いガイドを示します。
(前提: Apache HTTP サーバーがマシンにインストールされており、Apache サーバーでの PHP スクリプトの実行には基本的に慣れています)

ステップ 1: WSO2 WSF/PHP 拡張機能をインストールします
Ubuntu では、次の手順があります:

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

ステップ 2: 電卓サービスを作成する
CalculatorService.php という名前のスクリプトを作成し、Apache HTTP サーバーの Web ルート (通常は /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();
?>

デプロイ後は、http://localhost:298c9bd6ad6e8c821dc63aa0473d6209/CalculatorService.php からアクセスできます。

ステップ 3: 電卓クライアントを作成する
クライアントを作成し、この電卓サービスを呼び出し、結果を出力します。
スクリプトの名前は CalculatorClient.php で、Apache HTTP サーバーの Web ルートに配置されます。
Apache サーバーのポート (例: http://www.php.cn/:81/CalculatorService.php) をサーバーに合わせて変更することを忘れないでください。

<?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());
}
}
?>

ステップ 4: サービスにアクセスします
次のように CalculatorClient.php を実行してサービスにアクセスします:
http://localhost:298c9bd6ad6e8c821dc63aa0473d6209/CalculatorService.php

以上がPHP で Web サービスを開発するためのサンプル コードの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。