如何告诉PhPpstorm一个返回的变量是什么的实例?

时间:2015-12-23 13:56:30

标签: php oop instance phpstorm

通常情况下,如果我这样做:org.eclipse.persistence.jaxb.JAXBMarshaller
然后我可以$user = new User();和PhPstorm建议可用的方法(例如getName()或getEmail())

但是当我调用一个从另一个函数内部返回一个类实例的函数时,这就不再适用了。

像这样:

$user->...
foo()中的$ user-> getName()现在显示为未定义的方法,因为它不知道它是User的实例。它仍然工作正常,我得到了预期的名称,但我的PhPstorm不知何故不够聪明,知道这是一个用户对象。我如何告诉PhPstorm。

1 个答案:

答案 0 :(得分:2)

您可以使用变量instanciation上方的注释添加变量的类型:

/** @var YourNamespace\YourClassName $user */
$user = new User();

或者在函数的docblock中

/**
* Description of the function
* @return YourNamespace\YourClassName
*/
function myFunction()
{
    ...
}