2

让我们想象一段在 PHP 中使用 SoapClient 的标准代码:

$client = new SoapClient(/* arguments here */);
$result1 = $client->invokeSomeApiMethod($arg1, $arg2);
$result2 = $client->invokeSomeOtherApiMethod($arg3);

我想知道,有没有办法将特定服务的 API 指定给 IDE(我正在使用 PhpStorm)以获得代码完成、基本参数验证等,以便 IDE 知道 invokeSomeApiMethod 确实存在对于这个特定的 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 */);

但对我来说,这看起来很奇怪。也许你们中的一些人使用任何其他方法?

4

0 回答 0