開発者として、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('Service.php'); include_once('SoapDiscovery.class.php'); $wsdl=new SoapDiscovery('Service','soap');//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写 $wsdl->getWSDL(); ?>
コードは次のとおりです:
<?php class Service { public function Hello() { echo 'hello good'; } public function Add($a,$b) { return $a+$b; } } $server=SoapServer('Service.php',array('soap_version'=>soap_1_2)); $server->setClass('Service');//注册Service类的所有方法 $server->handle();//处理请求 ?>
<?php ini_set('soap.wsdl_cache_enabled','0');//关闭缓存 $soap=new SoapClient('http://127.0.0.1/soap/Service.php?wsdl'); echo $soap->Add(1,2); //echo $soap->_soapCall('Add',array(1,2))//或者这样调用也可以 ?>
以上がPHP での Web サービス インターフェイス インスタンスの作成と呼び出しの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。