1

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

我在这个假设中是正确的还是我错过了什么?

似乎 phpcs_file->fixer->enabled 是假的

我如何正确设置这个值?

嗅探代码 -

        $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");
    }
4

1 回答 1

1

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

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

如果要自动修复文件,请使用 PHPCBF。如果您只想查看修复的外观,请使用 PHPCS 和差异报告。在这两种情况下, 的返回值addFixableError都是true。在所有其他情况下,返回值为false.

所以这两个获取true返回值的命令将是:

phpcbf /path/to/file.php

或者

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

于 2017-06-10T04:19:21.167 回答