Phpstorm Intellisense /继承属性的代码完成

时间:2013-02-02 15:20:31

标签: intellisense phpstorm code-completion

我对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
 */

它不起作用。你有什么主意吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

问题在于@LazyOne在评论中所说的注释中缺少*字符。 @property标签现在正在完善。

应该是:

/**
 * @property Entity\SubClassRepository $repository
 */