PHP で SoapClient を使用する標準的なコードを想像してみましょう。
$client = new SoapClient(/* arguments here */);
$result1 = $client->invokeSomeApiMethod($arg1, $arg2);
$result2 = $client->invokeSomeOtherApiMethod($arg3);
IDEがinvokeSomeApiMethodが実際に存在することを認識できるように、コード補完、基本的な引数の検証などを取得するために、特定のサービスのAPIをIDE(私はPhpStormを使用しています)に指定する方法はありますか?この特定の SoapClient インスタンスに対して、いくつかの引数リストを受け入れます。
今のところ唯一の方法は、Web サービスの API に対応するインターフェイスを持つクラスを宣言し、SoapClient インスタンスのアノテーションを作成することです。
class SomeApi extends SoapClient
{
public function invokeSomeApiMethod($arg1, $arg2)
{
}
public function invokeSomeOtherApiMethod($arg3, $arg4 = null)
{
}
}
/** @var SomeApi $client */
$client = new SoapClient(/* arguments here */);
しかし、私にとってはかなり奇妙に見えます。たぶん、あなたの誰かが他のアプローチを使用していますか?