假设我有一个班级
class Class1
{
public function method1(){
return "hello world";
}
}
我有另一个在类
中使用它的类class Class2
{
/** @var $firstClass Class1 */
private $firstClass;
public function __construct($firstClass)
{
$this->firstClass = $firstClass;
}
public function method2()
{
return $this->firstClass-> "I want code completion to work here"
}
}
如何使用PHPDoc完成代码完成。我搜索了phpdoc的范围,声明,各种东西。我无法弄清楚phpdoc的注释行的术语或位置来选择它。
我正在使用phpstorm。救命啊!
答案 0 :(得分:10)
检查您的类名称空间。
如果class具有命名空间,请确保在注释或别名中正确定义它们 评论示例:
...
/** @var \vendor\namespace\Class1 */
private $firstClass;
...
别名示例:
use \vendor\namespace\Class1;
...
/** @var Class1 */
private $firstClass;
...
检查项目目录定义。
如果您的类目录未在项目设置中定义,则PHPStorm无法索引这些类。在这种情况下,代码完成将不起作用。如何set up project directories in PHPStorm。
清除PHPStorm缓存。
有时PHPStorm缓存变得无效。因此,代码完成可能无法正常工作。 Official how to cache cleanup