PHP_CodeSniffer - PHP_CodeSniffer PHPファイルをトークン化し、定義されたコーディング標準のセットの違反を検出します。

(PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.)

Created at: 2011-11-03 12:06:24
Language: PHP
License: BSD-3-Clause

に関しては

PHP_CodeSnifferは2つのPHPスクリプトのセットです。PHP、JavaScript、およびCSSファイルをトークン化して定義されたコーディング標準の違反を検出するメインスクリプトと、コーディング標準の違反を自動的に修正する2番目のスクリプト。PHP_CodeSnifferは、コードのクリーンさと一貫性を維持するために不可欠な開発ツールです。

phpcs
phpcbf

ビルドステータス ビルドステータス コードの一貫性 https://gitter.im/squizlabs/PHP_CodeSniffer でチャットに参加する

必要条件

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

Git クローン

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

  • 後方互換性のない変更が OR コマンドの使用方法に加えられた場合、または
    phpcs
    phpcbf
  • 後方互換性のない変更がフォーマットに加えられた、または
    ruleset.xml
  • スニフ開発者が使用するAPIに後方互換性のない変更が加えられた場合、または
  • カスタムPHP_CodeSnifferトークンタイプが削除されている、または
  • 既存のスニフはPHP_CodeSnifferから完全に削除されます

バージョンは、次の場合にインクリメントされます。

MINOR

  • 新しい下位互換性のある機能が AND コマンドに追加される、または
    phpcs
    phpcbf
  • 形式に下位互換性のある変更が加えられた場合、または
    ruleset.xml
  • スニフ開発者が使用するAPIに下位互換性のある変更が加えられた場合、または
  • 含まれている標準に新しいスニフが追加される、または
  • 既存のスニフは付属の標準から削除されます

注: スニフ開発者が使用する API に対する下位互換性のある変更により、既存のスニフは致命的なエラーを生成せずに実行を継続できますが、変更を必要とせずに以前と同じエラーをスニフが報告しない場合があります。

バージョンは、次の場合にインクリメントされます。

PATCH

  • 下位互換性のあるバグ修正が行われます

注: 問題を報告して修正するためのPHP_CodeSnifferが存在するため、ほとんどのバグは、コーディング標準エラーが誤って報告されたか、コーディング標準エラーが報告されるべきときに報告されなかった結果です。つまり、PHP_CodeSniffer によって生成されるメッセージと、が行う修正は、PATCH バージョン間で異なる可能性があります。