2017-06-09 38 views
1

當我在phpcs中調用addFixableError時,輸出顯示如預期的可修復的錯誤,但是在嗅探代碼中,我檢查了返回並且這是錯誤的,因此我希望phpcs的輸出顯示錯誤是不可修復的。使用phpcs添加可解決的錯誤

我在這個assumptino中是正確的還是我錯過了什麼?

似乎phpcs_file-> fixer-啓用>是假

我如何正確設置這個值?

嗅碼 -

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

回答

1

唯一一次PHPCS會問一嗅來修正錯誤時,爲它打印diff報告。在其他任何時候,PHPCS只顯示錯誤並且不修復它們。

伴隨腳本PHPCBF是通過用固定副本覆蓋文件來修復的。

如果要自動修復文件,請使用PHPCBF。如果您只想查看修復的外觀,請在差異報告中使用PHPCS。在這兩種情況下,addFixableError的返回值將爲true。在所有其他情況下,返回值將爲false

所以這兩個命令獲得true返回值是:

phpcbf /path/to/file.php

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

+0

感謝您的澄清 - 這真的幫助
我困惑的根源來了從phpcs創建差異時使用ob_start命令,所以我沒有看到任何輸出 – GrahamL

相關問題