ホームページ  >  記事  >  バックエンド開発  >  PHP SOAP 拡張機能を使用した単純な Web サービスの実装_PHP チュートリアル

PHP SOAP 拡張機能を使用した単純な Web サービスの実装_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:21:24944ブラウズ

PHP SOAP 拡張機能を使用して単純な Web サービスを実装します

Webサービスで何ができるのか?
WebServices はアプリケーションを Web アプリケーションに変換できます。
WebServices を使用すると、アプリケーションは世界に情報を公開したり、特定の機能を提供したりできます。
さて、Web サービスに関する情報はオンライン上にたくさんあるので、あまり紹介せずに本題に入ります。
PHP には、WebService を実装できる 2 つの拡張ライブラリがあります。1 つは NuSoap、もう 1 つは PHP に付属する公式の Soap 拡張です。これらは、使用方法はほぼ同じです。公式の Soap 拡張を例に挙げてみましょう。
Soap で WebService を記述する場合、主に SoapClient、SoapServer、SoapFault の 3 つのクラスが使用されます。
SoapClient: ユーザーがアクセスするクラス、つまりクライアントは WebServices クラスを使用します
SoapServer: サーバー側の WebServices クラスを提供します
SoapFault: 例外処理クラス
例として、非常に簡単な WebServices を書いて雰囲気をつかみ、コードで直接話してみましょう
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 サービスのクライアントとして機能できます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/859801.html技術記事 PHP SOAP 拡張機能を使用して単純な Web サービスを実装する Web サービスでは何ができるでしょうか? WebServices はアプリケーションを Web アプリケーションに変換できます。 Web サービスを使用すると、アプリケーションで次のことが可能になります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。