5

phpcs 検証のために PEAR 標準に小さな変更を加えたいと思います。現在、PEAR では次のような else ステートメントを記述する必要があります。

} else {

次のように記述します。

}
else {

この変更を行うにはどうすればよいですか?

4

1 に答える 1

6

これを行う唯一の方法は、ruleset.xml ファイルを使用して独自のコーディング標準を作成することです。PEAR コーディング標準全体をインポートする必要がありますが、このチェックを実行する特定のスニフは除外します。このビットは、単一の XML ファイルで実行できます。

elseただし、探している構文のタイプを強制する組み込みのスニフはありません。したがって、それを強制するには、カスタム スニフを作成する必要があります。これは、どこかに保存する必要があるため、より複雑です。

単純なカスタム コーディング標準を試すことから始めたい場合は、というファイルを作成し、ruleset.xmlこれを内容にします。

<?xml version="1.0"?>
<ruleset name="MyStandard">
 <description>My custom coding standard.</description>
 <rule ref="PEAR">
  <exclude name="PEAR.ControlStructures.ControlSignature"/>
 </rule>
</ruleset>

次に、次のように PHP_CodeSniffer を実行します。

phpcs --standard=/path/to/ruleset.xml /path/to/code

これにより、PEAR コーディング標準に照らしてコードがチェックされますが、制御構造の特定のチェックは除外されます。これで十分な場合は、そこで終了できます。このカスタム標準を実行したいチームがいる場合は、そのチームにファイルを渡すだけで、彼らもそれを使用できます。

ここに ruleset.xml 形式に関する詳細情報があります: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml

先に進んでカスタム スニフを作成する場合は、基本的なチュートリアル ( http://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial) から始めることをお勧めします。 php

これは、コーディング標準とは何かを説明します。次に、独自の sniff を作成する必要があります。これは、PEAR の単なるコピーであり、構造化された制御を行う方法がわずかに変更されています。PEAR スニフはこちら: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php

} else {EOL',テストせずに、変更して、それが機能するかどうかを確認したいと思うでしょう}EOLelse {EOL',

于 2012-11-22T21:45:37.883 に答える