使用 phpcs 添加可修复的错误

adding fixable errors using phpcs

当我在 phpcs 中调用 addFixableError 时,输出显示了预期的可修复错误, 但是在嗅探代码中,我检查了 return,这是错误的,因此我希望 phpcs 的输出显示错误不可修复。

我在这个假设中是正确的,还是我遗漏了什么?

似乎 phpcs_file->fixer->enabled 是 false

如何正确设置这个值?

嗅探代码 -

        $phpcs_file->fixer->beginChangeset();
    $fix = $phpcs_file->addFixableError ($error, $stack_ptr, 'FunctionNameInvalid', $data);
    if ($fix === true) {
        $token = $tokens[$stack_ptr +2];
        $token['content'] = $snake_case_string;
        if ($phpcs_file->fixer->replaceToken ($stack_ptr, "asasd") === false) {
            print("could not replace\n");
        }
    } else {
        print("could not fix\n");
    }

PHPCS 唯一一次请求嗅探来修复错误是在打印 diff 报告时。在所有其他时间,PHPCS 仅显示错误而不修复它们。

配套脚本 PHPCBF 是通过用固定副本覆盖文件来进行修复的脚本。

如果要自动修复文件,请使用 PHPCBF。如果您只想查看修复后的效果,请将 PHPCS 与差异报告一起使用。在这两种情况下,addFixableError 的 return 值将是 true。在所有其他情况下,return 值将为 false

因此获得 true return 值的这两个命令将是:

phpcbf /path/to/file.php

phpcs /path/to/file.php --report=diff