2017-06-09 4 views
1

phpcsでaddFixableErrorを呼び出すと、出力が修正可能なエラーを示しています( )が、スニフコードでは戻り値がチェックされ、falseであるため、phpcsの出力にはエラーは解決できません。phpcsを使用して修正可能なエラーを追加する

私はこの仮説で正しいですか、何か不足していますか?

それは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

それはdiffレポートを印刷したときPHPCSがエラーを修正するためにスニフを聞いてきます唯一の時間です。それ以外の場合は、PHPCSはエラーのみを表示し、エラーを修正しません。

コンパニオンスクリプトPHPCBFは、ファイルを固定コピーで上書きして修正するものです。

ファイルを自動修正する場合は、PHPCBFを使用します。修正がどのように表示されるか見たい場合は、diffレポートとともにPHPCSを使用してください。どちらの場合も、戻り値はaddFixableErrortrueとなります。それ以外の場合は、戻り値はfalseになります。だから、これらの二つのコマンド

true戻り値は以下のようになり得るために:

phpcbf /path/to/file.php

または

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

+0

感謝を明確化するために - それは本当に
を助けた私の混乱の根が来ましたphpcsがdiffを作成するとき、ob_startコマンドを使用するので、私は自分のoutpuを見ていないという事実から – GrahamL

関連する問題