標準に外部スニフを含めるのに問題があります。PHP_CodeSniffer 1.4.3 の最新バージョンを使用すると、スニフのグループを含めることができません。それらを個別に含めることもできますが、メンテナンスを減らして、不要なものだけをリストしたいと思います。
作業 ruleset.xml
<?xml version="1.0"?>
<ruleset name="ICAP Standards">
<description>ICAP Coding Standards for PHP_CodeSniffer</description>
<rule ref="Generic.PHP.UpperCaseConstant" />
</ruleset>
これは機能し、簡単なテストが含まれています。ただし、このグループにすべてを含めて、単一のスニフを除外したいと考えています。
PHP_CodeSniffer の ruleset.xml ICAP コーディング標準も動作
<rule ref="Generic">
<exclude name="Generic.PHP.LowerCaseConstant"/>
</rule>
</ruleset>
動作しない ruleset.xml
<?xml version="1.0"?>
<ruleset name="ICAP Standards">
<description>ICAP Coding Standards for PHP_CodeSniffer</description>
<rule ref="Generic.PHP">
<exclude name="Generic.PHP.LowerCaseConstant"/>
</rule>
</ruleset>
このルールセットは機能せず、PHPCS の実行時に例外を返します。
PHP_CodeSniffer_Exception: Referenced sniff Generic.PHP does not exist in C:\Program Files (x86)\PHP\pear\PHP\CodeSniffer.php on line 845
これは、リリースされたばかりのバージョン 1.4.3 で、PHP 5.4.8 を使用しています。
私の PHPCS -i は Generic をインストールされた標準として表示します:
The installed coding standards are ICAP, MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend.
私は混合環境で作業しており、Windows と Ubuntu 12.10 ではパスがかなり異なるため、できるだけパスを使用しないようにしています。