我对 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 表示法并将下面的行添加到子类中。
/*
* @property Entity\SubClassRepository $repository
*/
它不起作用。你有什么主意吗?非常感谢。