在phpstorm中修复soapclients检查的最佳方法

时间:2012-02-07 09:21:52

标签: phpstorm

我正在使用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?)

2 个答案:

答案 0 :(得分:3)

您可以从 Alt + Enter right arrow菜单禁止对此语句进行检查:

suppress

答案 1 :(得分:1)

这并不完美,因为它不解析WSDL而你必须手动完成,但在初始设置后工作正常。

创建一个扩展本地SoapClient的类并使用注释添加虚拟方法:

/**
 * @method mixed getIssuesFromJqlSearch
 **/
class VendorSpecific extends \SoapClient {}

或者您可以自己生成此类客户端,将所有方法实现为self::__soapCall()的代理。请参阅我的SoapClient generator以供参考。好处是它可以解析WSDL,虽然不是很完美。