让我们想象一段在 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 */);
但对我来说,这看起来很奇怪。也许你们中的一些人使用任何其他方法?