4

Editor > Code Style > PHPasからエディター コード スタイルのセットアップをセットアップしましたPredefined Style >PSR1/PSR2。PHP Code Sniffer と PHP Mess Detector もインストールして構成しました。を使用してコードをフォーマットするたびにCTRL+ALT+L、次の問題が発生します。

ここに画像の説明を入力

何故ですか?元のコードは次のようになります (あまり役に立たないと思いますが、とにかくここにあります):

public function myTestFunction()
{
    $is_valid = true;

    if ($this->manual_value && !$this->_InputValidator->isValidString(
            $this->manual_value,
            1,
            2,
            Regex::STRING
        )
    ) {
        $is_valid = false;
    }

    return $is_valid;
}
4

2 に答える 2

1

残念です。IDE または PHPCS の PSR ルールの解釈でバグに遭遇しただけのようです。そのうちの 1 つが間違っており、バグ レポートを提出する必要がありますが、PSR ルールを注意深く読んで、どれがどれかを判断する必要があります。(両者にバグレポートを提出して解決してもらう方が簡単かもしれません)

(もちろん、両方の最新バージョンが既にインストールされていることを前提としています。PHPStorm の新しいリリースが出たばかりなので、まだアップグレードしていない場合は、アップグレードする良い機会かもしれません。 )

その間、コードをリファクタリングして、if()ステートメントがそのように見えるのを止めることをお勧めします。正直なところ、PSR ルールを満たしているかどうかに関係なく、見た目がきれいなコードではありません。

次のようにリファクタリングします。

public function myTestFunction()
{
    $input_is_valid = $this->_InputValidator->isValidString(
        $this->manual_value,
        1,
        2,
        Regex::STRING
    );

    return ($this->manual_value && !$input_is_valid);
}
于 2016-07-15T20:33:08.580 に答える