警告消息:“未找到方法getText”,仅编辑器警告*,在运行时有效

时间:2019-02-14 17:54:43

标签: php phpstorm

我正试图摆脱编辑器警告:

  

“未找到方法'getText'。”

这只是一个编辑器问题,因为代码在运行时有效,因此我的假设是编辑器并不“知道”该方法的来源。因此,我正在寻求有关如何设置编辑器以使其与我的PHP 7.3解释器及其所有库一起使用的帮助。

我尝试了两件事:

  1. 在PHP的“语言和框架”设置下,我尝试同步“扩展程序和解释器”
  2. 仔细研究一下我在这里和其他地方遇到的类似问题,我指出了一个问题,那就是在我的php.ini文件中启用扩展名:extension=intl
$this->foo("foooooooo");
$foos = $this->getElements('//XPATH"]//a[starts-with(text(), "TEXT")]');
$selectedFoo = false;

//Choose XXX foo if it exists
foreach ($foos as $foo)
{
    $fooText = $foo->getText(); //I get the warning here

    if (substr($fooText, -3) === 'XXX')
    {
        $selectedFoo = $foo;
    }
}

我希望编辑器能够获得对此方法的引用,并且不会显示警告。

*如果您认为我没有为研究此问题做出足够的努力,请告诉我,但我希望能被指出正确的方向,以便我自己尝试另一种解决方法。 / p>

1 个答案:

答案 0 :(得分:0)

我想您可以通过添加@var文档块来帮助PhpStorm:

$this->foo("foooooooo");

/** @var Behat\Mink\Element\Element[] $foos */
$foos = $this->getElements('//XPATH"]//a[starts-with(text(), "TEXT")]');

$selectedFoo = false;

//Choose XXX foo if it exists
foreach ($foos as $foo)
{
    $fooText = $foo->getText(); //I get the warning here

    if (substr($fooText, -3) === 'XXX')
    {
        $selectedFoo = $foo;
    }
}