【发布时间】:2014-01-26 08:17:15
【问题描述】:
使用 Behat 子上下文类,我需要从主上下文调用一个方法,例如$this->getMainContext()->fooBar()。 PhpStorm 相当合理地警告我 fooBar() 不存在,因为它希望 getMainContext() 返回一个 ExtendedContextInterface,而不是我的具体 FeatureContext。
有没有办法注释我的子类来告诉 PhpStorm getMainContext() 实际上返回了我的具体类?
一种解决方案是重写 getMainContext() 只是为了有一个方法来添加我自己的 PHPDoc,从而指定不同的返回类型,但是添加一个方法只是为了在 IDE 中获得更好的代码感觉是可怕的。
顺便说一句,我知道这有点老套,理论上我的子上下文不应该依赖于具有特定具体实现的主要上下文;实际上,尽管 Behat 并没有做到这一点。
【问题讨论】:
标签: annotations phpstorm intellisense