我正在使用PHPStorm v3并且有一些连接到某个SOAP服务的代码。 (通过一个简单的PHP SoapClient)没有任何问题。但PHPStorm检查员无法找到WSDL的可用方法,因此无法识别使用的方法:
$this->soap = new SoapClient('somewsdl url');
$issues = $this->soap->getIssuesFromJqlSearch($this->auth,
'ticketId = '.$ticket->getId().'
AND impId ~ "'.$currentImplementation->getIdentifier().'"', 1);
一切正常但外部WSDL提供的方法'getIssuesFromJqlSearch'突出显示了一个未定义的方法...我如何告诉'PHPStorm应该/可以使用什么(或解释如何解析WSDL?)
答案 0 :(得分:3)
您可以从 Alt + Enter ,right arrow
菜单禁止对此语句进行检查:
答案 1 :(得分:1)
这并不完美,因为它不解析WSDL而你必须手动完成,但在初始设置后工作正常。
创建一个扩展本地SoapClient
的类并使用注释添加虚拟方法:
/**
* @method mixed getIssuesFromJqlSearch
**/
class VendorSpecific extends \SoapClient {}
或者您可以自己生成此类客户端,将所有方法实现为self::__soapCall()
的代理。请参阅我的SoapClient generator以供参考。好处是它可以解析WSDL,虽然不是很完美。