2017-02-10 9 views
0

Я использую PhpStorm в качестве моей PHP-среды. Он имеет функцию, в которой он выдаст предупреждение, если обнаруживает, что вы используете несуществующий метод для класса. Обычно это опечатка, но она также может быть методом, который еще не создан.Как добавить аннотацию метода для класса, созданного с помощью Soap-клиента PHP

В тех случаях, когда он не обнаруживает допустимый класс, можно вручную указать IDE с аннотацией, подобной этой.

/** @var MyClass $myClass **/ 

Это заставит IDE, чтобы переменные $ myClass->, чтобы обнаружить все доступные методы MyClass.

Я столкнулся с проблемой, когда у меня есть класс, который генерируется динамически от вызова к службе SOAP третьей стороны. PhpStorm помещает вызов метода в этот новый класс, потому что метод, который я вызываю, не является частью класса SoapClient.

Это две строки кода, с которыми я работаю для этого вопроса. Предупреждение приходит на второй линии, не SendCharFax найдены в \ SoapClient

$client = new SoapClient("http://ws.interfax.net/dfs.asmx?wsdl"); 
$result = $client->SendCharFax($params); 

Я четко понимаю, почему предупредительные шоу IDE, но я хочу знать, как я могу устранить предупреждение. Я потратил много времени на поиск SO и Интернета, и я не могу найти никакой информации, которая помогла бы мне справиться с этой проблемой.

Как я могу устранить это предупреждение IDE?

+1

Как насчет того, чтобы попробовать что-то подобное, что будет генерировать php-классы из wsdl https://github.com/wsdl2phpgenerator/wsdl2phpgenerator – Andy

+0

Интересно, спасибо. Я посмотрю! – colonelclick

ответ

1

Если вы хотите полное автоматическое завершение и подсказку динамической переменной, используйте WSDL для php-генератора, например, проект PackageGenerator.