php - 为什么 PhpStorm 忽略 foreach 循环中的 DOMNodeList 声明?
问题描述
问题
我无法完全复制这个问题,因为我不确定它是什么时候突然开始的,但是,我突然注意到 PhpStorm 开始在引用已声明的变量时遇到问题,尤其是那些嵌套在 foreach 循环中的变量。
$articles = $doc->getElementsByTagName('article');
foreach ($articles as $artcle) {
$a_tags = $artcle->getElementsByTagName('a');
...
}
}
$articles
是DOMNodeList
实现的一个实例Traversable
。因此,最初$artcle
将被声明为 的实例DOMNode
,但是,它直到最近才停止识别,并在 IDE 中显示为未声明的变量,其中#getElementsByTagName('a')
存在DOMNode
无法引用的公共方法。
怎么了?
忽略 IDE 中的这些错误,该项目在本地运行良好(xampp webserver)。
我尝试了什么?
我从来没有弄乱我的 IDE 中的配置,只是花时间实现了很多新类。我已经尝试清除缓存并重新启动应用程序,但没有任何运气。
解决方案
推荐阅读
- python - I am getting ValueError: could not convert string to float: '8,900'
- reactjs - 反应测试错误组件与孩子
- android - I cannot view crash detail of Firebase Crashlytics for android and got stuck on "Build and run your app"
- c++ - 像素在自己初始化时移动,但不在循环中?
- sapui5 - Is it possible to test Standard SAP Fiori apps from Web IDE?
- powerbi - How to add 2 columns in Power BI measures using filters on min date?
- css - 过滤器的滞后峰值:仅 Chrome 中的 drop-shadow()
- python - 有没有办法在删除之前删除所有已编辑的消息?
- android - AutocompleteFragment 结果返回具有空属性的位置
- java - 滚动时如何防止`RecyclerView`重复?