PHP には、WebService を実装できる 2 つの拡張ライブラリがあります。1 つは NuSoap、もう 1 つは PHP に付属する公式の Soap 拡張です。これらは、使用方法はほぼ同じです。公式の Soap 拡張を例に挙げてみましょう。
1. Myself.class.php --ビジネスロジッククラス、関数実装クラス
1
2 //ビジネスロジッククラス
3クラス自分{
4 パブリック関数 info(){
5 return "新浪微博: Balla_Rabbit、注目してください~";
6 }
7 }
8 ?>
コードをコピー
これは非常に単純で、追加の説明は必要ありません。文字列を返します。
2.soapServer.php --サービスを提供するサーバークラス
コードをコピー
1
2 //サーバー
3 require_once('Myself.class.php');
4 $パラメータ=配列(
5 'uri'=>'http://localhost/',
6 'location'=>'http://localhost/soap/soapServer.php'
7 );
8 $soapServer=新しい SoapServer(null,$parameter);
9 $soapServer->setClass('Myself');
10 $soapServer->handle();
11 ?>
コードをコピー
SoapServer には 2 つの動作モードがあります:
上記の例は非 WSDL モードであり、SoapServer クラスをインスタンス化する場合、1 つのパラメーターは WSDL ファイルを空にすることができ、構成パラメーターは配列の形式で書き込まれます。 2 番目のパラメータ。
WSDL モードを使用している場合は、WSDL ファイルを直接使用してサーバーに構成パラメーターを読み取ることができます。この場合、2 番目の配列パラメーターを省略できます。
設定パラメータは多数ありますが、簡単な例として上記の 2 つだけを示します。詳細はオンラインで確認できます。
uri --名前空間
所在地 -- サービスアドレス
1. WSDL モード WSDL モードでは、コンストラクターは WSDL ファイル名をパラメーターとして使用し、サービスで使用される情報を WSDL から抽出できます。
2. 非 WSDL モード 非 WSDL モードでは、サービスの動作を管理するために使用される情報を渡すためにパラメーターが使用されます。
SoapServer クラスの多くのメソッドの中で、より重要なメソッドが 3 つあります。それらは、SoapServer::setClass()、SoapServer::addFunction()、SoapServer::handle() です。
handle メソッドの前後にパラメータを出力できないことに特別な注意を払う必要があります。そうしないとエラーが発生します。
3.soapClient.php --サービスを使用するクライアントクラス
コードをコピー
1
2 //クライアント
3 $パラメータ=配列(
4 'uri'=>'http://localhost/',
5 'location'=>'http://localhost/soap/soapServer.php'
6 );
7 トライ{
8 $soapClient=new SoapClient(null,$parameter);
9 echo $soapClient->info();
10
11 }キャッチ(例外 $e){
12 echo $e->getMessage();
13 }
14
15 ?>
コードをコピー
SoapClient クラスは、特定の Web サービスのクライアントとして機能できます。
http://www.bkjia.com/PHPjc/859801.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/859801.html技術記事 PHP SOAP 拡張機能を使用して単純な Web サービスを実装する Web サービスでは何ができるでしょうか? WebServices はアプリケーションを Web アプリケーションに変換できます。 Web サービスを使用すると、アプリケーションで次のことが可能になります...