我正在使用PHP Mess Detector 1.5.0,并且有很多问题,我认为不是问题。
class FOO
{
const NEW_LINE = "\n";
const ADD = 1;
const DELETE = 2;
...
public function __construct($OptionOne = self::ADD)
{
}
}
在这段代码中,我然后使用类似于C ++枚举的常量来处理选项。因此,如果我想添加某些内容,我会将代码中的FOO :: ADD传递给类,该类与1相同。
我可以在PHPUnit中测试这个类没有问题,因为我验证了常量,然后我可以将值和常量传递给函数。
我不确定为什么PHPMD会抱怨这一点,特别是因为它是在PHP中安全引用的const值。
答案 0 :(得分:2)
因为我对常量使用了很多 self :: ,所以更改phpmd代码以接受 self :: 和 parent :: 。< / p>
在第36行的PHP / PMD / Rule / CleanCode / StaticAccess.php程序中,更改为:
if ($this->isReferenceInParameter($reference)
|| $reference->getImage() === 'self'
|| $reference->getImage() === 'parent'
) {
continue;
}