首页 > 解决方案 > 为什么 PhpStorm 忽略 foreach 循环中的 DOMNodeList 声明?

问题描述

问题

我无法完全复制这个问题,因为我不确定它是什么时候突然开始的,但是,我突然注意到 PhpStorm 开始在引用已声明的变量时遇到问题,尤其是那些嵌套在 foreach 循环中的变量。

$articles = $doc->getElementsByTagName('article');
        foreach ($articles as $artcle) {
            $a_tags = $artcle->getElementsByTagName('a');
            ...
        }
}

$articlesDOMNodeList实现的一个实例Traversable。因此,最初$artcle将被声明为 的实例DOMNode,但是,它直到最近才停止识别,并在 IDE 中显示为未声明的变量,其中#getElementsByTagName('a')存在DOMNode无法引用的公共方法。

怎么了?

忽略 IDE 中的这些错误,该项目在本地运行良好(xampp webserver)。

我尝试了什么?

我从来没有弄乱我的 IDE 中的配置,只是花时间实现了很多新类。我已经尝试清除缓存并重新启动应用程序,但没有任何运气。

标签: phpphpstormundeclared-identifier

解决方案


推荐阅读