像PHPMD这样的静态代码分析器(在本例中)抱怨了以下PHP代码中的错误:
foreach ($aSomething as $key => $value) {
... do something with the $key only
}
错误:
Avoid unused local variables such as '$value'.
现在,我不知道有任何方法来创建一个只有键的foreach循环。什么是“分析器安全”的解决方案来形容这些行?
目前,我正在通过打电话给array_keys
解决这个问题,然后对此进行预测,但感觉有点过火了。另一种解决方案是始终使分析器对此循环保持沉默。
什么是“正确”的方式来保持与代码质量和代码需求的“可理解性”保持一致?
发布于 2019-04-16 15:02:20
当我从一些phpmd文档中读取规则UnusedLocalVariable
的allow-unused-foreach-variables
属性时,请在这里阅读更多内容:
https://phpmd.org/rules/unusedcode.html
另外,根据github线程这里的https://github.com/phpmd/phpmd/pull/329,应该有一个选项
UnusedLocalVariable
规则中的白名单变量
至于使用像$_
这样的变量(意思是“值不需要”或“丢弃它”),还有另一个git线程https://github.com/phpmd/phpmd/issues/326,它最终将您发送到上一个线程,并提供了“UnusedLocalVariable
规则中的白名单变量”的机会。
因此,有两个选项-允许未使用的变量,我认为这不是一个好主意。第二个选项是白名单变量,这些变量将被忽略(例如,上面提到的$_
),并在不需要这些变量中的数据时使用它们。
虽然我不知道如何配置phpmd
,但是我想有人可以用正确的配置来编辑我的答案。
https://stackoverflow.com/questions/55710358
复制相似问题