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

问题描述

我正在尝试摆脱编辑器警告:

“找不到方法‘getText’。”

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

我尝试了两件事:

  1. 在 PHP 的 Language & Frameworks 设置下,我尝试同步“Extensions with Interpreter”
  2. 通过一些我“认为”在这里和其他地方的类似问题,我被指出了一个,即启用扩展:extension=intl在我的 php.ini 文件中。
$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;
    }
}

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

*如果您认为我没有在研究这个问题上付出足够的努力,请告诉我,但我希望能指出正确的方向,以便我可以再次尝试自己解决它。

标签: phpphpstorm

解决方案


我想你可以通过添加@vardoc 块来帮助 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;
    }
}

推荐阅读