php - 警告消息:“未找到方法 getText”,仅编辑器警告*,在运行时有效
问题描述
我正在尝试摆脱编辑器警告:
“找不到方法‘getText’。”
这只是一个编辑器问题,因为代码在运行时工作,所以我的假设是编辑器只是不“知道”这个方法的来源。因此,我正在寻求有关如何设置编辑器以与我的 PHP 7.3 解释器及其所有库一起使用的帮助。
我尝试了两件事:
- 在 PHP 的 Language & Frameworks 设置下,我尝试同步“Extensions with Interpreter”
- 通过一些我“认为”在这里和其他地方的类似问题,我被指出了一个,即启用扩展:
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;
}
}
我希望编辑器能够获得对此方法的引用而不显示警告。
*如果您认为我没有在研究这个问题上付出足够的努力,请告诉我,但我希望能指出正确的方向,以便我可以再次尝试自己解决它。
解决方案
我想你可以通过添加@var
doc 块来帮助 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;
}
}
推荐阅读
- c++ - 正则表达式匹配整个字符串
- ios - 在 Xcode 10.3 中集成 Apple 登录
- javascript - 如何根据当前时间显示每小时天气数据?
- prolog - 在 CHR 和 CLP/FD 中创建双向规则
- json - 另一个使用 Powershell 的循环 JSON 对象
- redis - 从过期键中检索值
- angular - Angular UrlMatcher 注入身份验证服务
- ios - 如何使用步进值更新折线图?
- python - 使用带有“with”语句的类执行代码,但在运行某个函数之前不执行代码?
- javascript - 承诺未解决,但在承诺回调中达到了 resolve()