gpt4 book ai didi

annotations - PhpStorm:继承方法返回类型的注释?

转载 作者:行者123 更新时间:2023-12-04 23:22:14 27 4
gpt4 key购买 nike

使用 Behat 子上下文类,我需要从主上下文调用一个方法,例如$this->getMainContext()->fooBar() . PhpStorm 非常合理地警告我 fooBar()不存在,因为它期望 getMainContext()返回 ExtendedContextInterface ,不是我的具体FeatureContext .

有没有办法注释我的子类来告诉 PhpStorm getMainContext()实际上返回我的具体类?

一种解决方案是覆盖 getMainContext()只是为了有一个方法来添加我自己的 PHPDoc,从而指定不同的返回类型,但是添加一个方法只是为了在 IDE 中获得更好的代码意义是可怕的。

顺便说一句,我知道这有点老套,理论上我的子上下文不应该依赖于我的主要上下文具有特定的具体实现;实际上,尽管 Behat 并没有做到这一点。

最佳答案

对类使用标准的@method 注释:

 /**
* @method FeatureContext getMainContext()
*/
class SubContext extends BehatContext
{
public function foo()
{
$this->getMainContext()->bar();
}
}

关于annotations - PhpStorm:继承方法返回类型的注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20992123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com