PHP_CodeSnifferは2つのPHPスクリプトのセットです。PHP、JavaScript、およびCSSファイルをトークン化して定義されたコーディング標準の違反を検出するメインスクリプトと、コーディング標準の違反を自動的に修正する2番目のスクリプト。PHP_CodeSnifferは、コードのクリーンさと一貫性を維持するために不可欠な開発ツールです。
phpcs
phpcbf
PHP_CodeSniffer には PHP バージョン 5.4.0 以降が必要ですが、個々のスニフには外部アプリケーションやスクリプトなどの追加要件がある場合があります。これらの要件のリストについては、設定オプションのマニュアルページを参照してください。
チームの一部として PHP_CodeSniffer を使用している場合、または CI サーバーで実行している場合は、構成ファイルを使用してプロジェクトの設定を構成することができます。
PHP_CodeSnifferを使い始める最も簡単な方法は、各コマンドの Phar ファイルをダウンロードすることです。
# Download using curl curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Or download using wget wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Then test the downloaded PHARs php phpcs.phar -h php phpcbf.phar -h
Composerを使用している場合は、次のコマンドを使用してシステム全体PHP_CodeSnifferインストールできます。
composer global require "squizlabs/php_codesniffer=*"
PATHにコンポーザービンディレクトリがあることを確認してください。デフォルト値は ですが、 を実行すると、使用する必要がある値を確認できます。
~/.composer/vendor/bin/
composer global config bin-dir --absolute
または、ファイルに の依存関係を含めます。例えば:
squizlabs/php_codesniffer
composer.json
{
"require-dev": {
"squizlabs/php_codesniffer": "3.*"
}
}
その後、ベンダー bin ディレクトリから PHP_CodeSniffer を実行できるようになります。
./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h
Phive を使用する場合は、次のコマンドを使用して、PHP_CodeSniffer をプロジェクト ツールとしてインストールできます。
phive install phpcs
phive install phpcbf
その後、toolsディレクトリからPHP_CodeSnifferを実行できるようになります。
./tools/phpcs -h
./tools/phpcbf -h
PEAR を使用している場合は、PEAR インストーラを使用して PHP_CodeSniffer をインストールできます。これにより、およびコマンドがすぐに使用できるようになります。PEAR インストーラを使用して PHP_CodeSniffer をインストールするには、まず PEAR がインストールされていることを確認してから、次のコマンドを実行します。
phpcs
phpcbf
pear install PHP_CodeSniffer
PHP_CodeSnifferソースをダウンロードして、Git クローンから直接 and コマンドを実行することもできます。
phpcs
phpcbf
git clone https://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php bin/phpcs -h
php bin/phpcbf -h
PHP_CodeSniffer が使用するデフォルトのコーディング標準は PEAR コーディング標準です。PEAR コーディング標準に照らしてファイルをチェックするには、ファイルの場所を指定するだけです。
phpcs /path/to/code/myfile.php
または、ディレクトリ全体をチェックしたい場合は、ファイルの代わりにディレクトリの場所を指定できます。
phpcs /path/to/code-directory
PSR-12コーディング標準に対してコードをチェックする場合は、コマンドライン引数を使用します。
--standard
phpcs --standard=PSR12 /path/to/code-directory
PHP_CodeSnifferコーディング標準エラーが検出されると、コマンドの実行後にレポートが表示されます。
完全な使用状況情報とレポートの例は、使用状況ページで入手できます。
PHP_CodeSniffer のドキュメントは Github wiki で入手できます。
バグレポートと機能リクエストは、Github課題トラッカーで送信できます。
詳細については、CONTRIBUTING.md を参照してください。
PHP_CodeSniffer では、バージョン番号の形式が使用されます。
MAJOR.MINOR.PATCH
バージョンは、次の場合にインクリメントされます。
MAJOR
phpcs
phpcbf
ruleset.xml
バージョンは、次の場合にインクリメントされます。
MINOR
phpcs
phpcbf
ruleset.xml
注: スニフ開発者が使用する API に対する下位互換性のある変更により、既存のスニフは致命的なエラーを生成せずに実行を継続できますが、変更を必要とせずに以前と同じエラーをスニフが報告しない場合があります。
バージョンは、次の場合にインクリメントされます。
PATCH
注: 問題を報告して修正するためのPHP_CodeSnifferが存在するため、ほとんどのバグは、コーディング標準エラーが誤って報告されたか、コーディング標準エラーが報告されるべきときに報告されなかった結果です。つまり、PHP_CodeSniffer によって生成されるメッセージと、が行う修正は、PATCH バージョン間で異なる可能性があります。