ホームページ >バックエンド開発 >PHPチュートリアル >PHP SOAP 拡張機能を使用した単純な Web サービスの実装、soapservices_PHP チュートリアル
WebServices でできること
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 --ビジネスロジッククラス、関数実装クラス
リーリーこれは非常に単純で、余分な説明は必要ありません。文字列を返します。
2.soapServer.php --サービスを提供するサーバークラス
リーリーSoapServer には 2 つの動作モードがあります:
上記の例は 非 WSDL モード で、SoapServer クラスをインスタンス化する場合、 1 つのパラメーターは WSDL ファイルを配置することです 非 WSDL モードでは、構成パラメーターを空にすることができます。 2 番目のパラメータ 。
WSDL モード を使用している場合は、WSDL ファイルを直接使用してサーバーに構成パラメーターを読み取ることができます。この場合、 2 番目の配列パラメーター を省略できます。
多くの設定パラメータがありますが、簡単な例として上記の 2 つだけをリストします。詳細はオンラインで確認できます。
uri --namespace
場所 --サービスアドレス
1. WSDL モード WSDL モードでは、コンストラクターは WSDL ファイル名をパラメーターとして使用し、サービスで使用される情報を WSDL から抽出できます。2. 非 WSDL モード 非 WSDL モードでは、サービスの動作を管理するために使用される情報を渡すためにパラメーターが使用されます。
SoapServer クラスの多くのメソッドの中で、より重要なメソッドが 3 つあります。それらは、
SoapServer::setClass()、SoapServer::addFunction()、SoapServer::handle()です。
ハンドルメソッドの前後にパラメータを出力できないことに特に注意してください。出力しないとエラーが発生します。
3.soapClient.php --クライアントクラス、サービスを使用します
リーリー
SoapClient クラスは、特定の Web サービスのクライアントとして機能できます。これには 2 つの動作モードがあります: (SoapServer の 2 つのモードと同様)
1. WSDL モード
上記は、PHP SOAP 拡張機能を使用して実装された単純な Web サービスです。soapClient.php にアクセスして試してみましょう。
やり方は簡単〜
添付ファイル:
現在、ほとんどの WebServices インターフェイスの戻り値は JSON または XML であり、内部で割り当てを定義できます。
一般的に使用される関数 file_get_contents、json_encode、json_decode など
jsonを操作する際の注意点についてはこちらの記事です: http://www.cnblogs.com/lichenwei/p/3888586.html
http://www.bkjia.com/PHPjc/859227.html