我对Phpstorm的继承属性的代码完成有问题。我的代码中有一个例子。
class ParentClass
{
public $repository;
}
/*
* @property Entity\SubClassRepository $repository
*/
class SubClass extends ParentClass
{
public function __construct()
{
$this->repository= $this->em->getRepository('Entity\Subclass');
}
public function ExampleFunction()
{
$this->repository-> !Here i need the code completion!
}
}
getRepository函数返回param = Entity \ SubClass的SubClassRepository或返回param = Entity \ OtherClass的OtherClassRepository。顺便说一下,它没有确切的类型。从而;我需要说Phpstorm是什么类型的父类的$ repository对象。
我知道Phpstorm使用Phpdoc表示法来完成代码。因此,我尝试使用@property表示法并将下面的行添加到SubClass。
/*
* @property Entity\SubClassRepository $repository
*/
它不起作用。你有什么主意吗? 非常感谢。
答案 0 :(得分:1)
问题在于@LazyOne在评论中所说的注释中缺少*字符。 @property标签现在正在完善。
应该是:
/**
* @property Entity\SubClassRepository $repository
*/