在 PhpStorm 中,如果我创建了一个对象,那么该对象的所有自动完成功能都可以正常工作:
$object = new MyClass();
$object->getNa...
将自动完成
$object->getName();
到目前为止一切顺利,但如果我通过第一种方法返回了一个对象,那么自动完成功能将无法正常工作。
$car->getDriver()->getNam...
将显示一个空列表。 getDriver 方法将其 PHPDoc @return 标记设置为“Driver”,但在其他一些 IDE 中,这可以实现正确的自动完成。
想知道我是否遗漏了某个设置,或者 PhpStorm 是否还没有提供这种高级自动完成功能?
最佳答案
函数 getDriver()
需要返回值的适当类型提示(函数的文档 block ):
* @return classOrInterfaceName
这通常足以让 IDE“更深入”。我很确定 Phpstorm 支持它,但我不是 Phpstorm 用户。
注意带有接口(interface)/类的文件在项目中或引用它。
作为解决方法,您可以将返回值分配给一个变量并对该变量进行类型提示。可能不太舒服,但可以提供帮助。
关于php - 有没有办法让 PhpStorm 的自动完成 "go deeper"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619709/