PHP での Web サービス インターフェイス インスタンスの作成と呼び出しの詳細な説明

伊谢尔伦
リリース: 2023-03-12 13:16:01
オリジナル
2744 人が閲覧しました

開発者として、Web サービス インターフェイスを作成したり、他の人の Web サービス インターフェイスを呼び出したりしたい場合は、まず Web サービスとは何かを理解する必要があります。簡単に言うと、WebService は、いくつかのサイトで公開されているサービス、または自分で開発したサービス、つまりメソッド名を指定してリクエストを行うものです。サイトはリクエストを受け取り、渡されたパラメータに基づいて処理を実行し、処理結果を XML 形式で返します。その後、プログラムは XML データを解析して表示するか、その他の操作を実行します。 Web サービスを作成するときは、基本的な Web サービス プラットフォームは XML + HTTP であること、さらに Web サービス プラットフォームの要素である SOAP (SimpleObjectAccess Protocol)、UDDI (Universal description、Discovery、Integration) を理解する必要があります。 )、WSDL (Web サービス記述言語)。Web サービスにはクライアントとサーバーが含まれます。以下では、

例を使用して、PHP を使用して他のユーザーが呼び出すための Web サービス インターフェイスを作成する方法を説明します。

まず、.wsdl ファイルを作成する必要があります。では、PHP はどのようにしてこのファイルを作成するのでしょうか?これを実現するには 2 つの方法があり、1 つは zend Studio ツールを使用して直接生成する方法で、もう 1 つは PHP を使用して SoapDiscovery.class.php に基づいて wsdl ファイルを自動的に生成する方法です。どちらを選択するかは状況に応じて異なります。私は通常前者を使います。クラスを使用して wsdl ファイルを生成する方法を書き留めてみましょう。まず、インターネットからクラス ファイルをダウンロードし、クラス ファイルをインポートした後、次のコードを見てください: creat_wsdl.php

コードは次のとおりです。

<?php
include_once(&#39;Service.php&#39;);
include_once(&#39;SoapDiscovery.class.php&#39;);
$wsdl=new SoapDiscovery(&#39;Service&#39;,&#39;soap&#39;);//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写
$wsdl->getWSDL();
?>
ログイン後にコピー


このようにcreat_wsdl.phpファイルを実行すると、wsdlファイルが生成されます。非常に単純ではありませんか? Web サービスは実装クラスにバインドする必要があります。言い換えると、他のユーザーによって呼び出される wsdl ファイルの実際の機能は、クラスにメソッドを実装することです。次のコードはサーバー クラス ファイルです

Service.php

コードは次のとおりです:

<?php
class Service
{
public function Hello()
{
echo &#39;hello good&#39;;
}
public function Add($a,$b)
{
return $a+$b;
}
}
$server=SoapServer(&#39;Service.php&#39;,array(&#39;soap_version&#39;=>soap_1_2));
$server->setClass(&#39;Service&#39;);//注册Service类的所有方法
$server->handle();//处理请求
?>
ログイン後にコピー

サーバーおよび wsdl ファイルを作成した後、クライアントを呼び出す必要があります。クライアント呼び出しコードを参照してください:

client.php

コードは次のとおりです:

<?php
ini_set(&#39;soap.wsdl_cache_enabled&#39;,&#39;0&#39;);//关闭缓存
$soap=new SoapClient(&#39;http://127.0.0.1/soap/Service.php?wsdl&#39;);
echo $soap->Add(1,2);
//echo $soap->_soapCall(&#39;Add&#39;,array(1,2))//或者这样调用也可以
?>
ログイン後にコピー

これは、Web サービス インターフェイスを作成して呼び出すための完全なサンプル コードです。phper; を必要とする人にとって役立つことを願っています。次に、他の人の Web サービスを呼び出します。このインターフェイスは、client.php に記述されたコードによって呼び出されます。


以上がPHP での Web サービス インターフェイス インスタンスの作成と呼び出しの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!