SoapClient オブジェクトを使用するクラスを作成し、コンストラクターで Web サービスの URL と、メソッドと応答の間の関連付けを受け取ります。
これで、メソッドとそのパラメーターのみを受け取る呼び出し関数ができました!
しかし、もう少し一般化したいと思います!
メソッドを関数として登録して直接呼び出すことができるように、メソッドをコンストラクターに渡したい!
これが C で行われているのを見たことがありますが、PHP で作成できると信じています。
誰でも私にヒントを与えることができますか?
Waleed Khan の助けを借りて、さらに調査を行った結果、その方法がわかりました。
私のクラスを使用するファイルで、これを使用します
$webs=new WebserviceCLS('webserviceIP',array("GetData"=>"GetDataResult"),array("GetData"));
$webs->metodo['GetData']($webs,array ("idData" => "98745684"));
そして、私が使用するクラスのコンストラクターで
foreach($met as $v)
{
$eu = $this;
$this->metodo[$v]= function($param) use($v,$eu)
{
$eu->call($v,$param);
};
}
このようにして、コンストラクターは Web サービスのメソッド リストを取得し、Web サービスの汎用ハンドラーを呼び出す匿名関数を作成します。その呼び出しを行うには、クラスを指す変数 $eu を使用し、匿名関数で使用されます