PHP_CodeSnifferによるコーディング規約チェック

PHP_CodeSnifferでコーディング規約チェックを行う

PHPでコーディングスタイルの規約チェックを行うためのライブラリである、PHP_CodeSnifferについてメモ

環境:PHP 7.4.8, squizlabs/php_codesniffer 3.6

PSRによるコーディング規約

PHPのコーディングスタイルはPHP-FIGという団体が定めたPSRという標準の中で定められている。

PSRのうち、PSR-1,PSR-12(PSR-2を拡張したもの)がコーディングガイドラインにあたり、様々なPHPフレームワークもこのPSRによる規約を採用している。

PHP-FIG (PHP Framework Interop Group)
https://www.php-fig.org/

PSR (PHP Standards Recommendations)
https://www.php-fig.org/psr/

PSR-1
https://www.php-fig.org/psr/psr-1/

PSR-12
https://www.php-fig.org/psr/psr-12/

PHP_CodeSniffer

PHP_CodeSnifferを利用することでコーディング規約への適合と違反を目視のレビューではなく、自動的に行うことができる。

インストール

packagist.org/packages/squizlabs/php_codesniffer

composerを使ってPHP_CodeSnifferをプロジェクトにインストールする。

composer.jsonのあるパスでコマンドを実行

composer require squizlabs/php_codesniffer

composer.json

{
    "require": {
        "squizlabs/php_codesniffer": "^3.6"
    }
}

規約チェックの実行

PHP_CodeSnifferのインストールが完了したら、下記コマンドで対象のソースプログラムの規約チェックを実行する。

vendor/bin/phpcs --standard=PSR12 src/

例ではsrc配下の全てのプログラムの規約チェックを実行する。
(ファイルパスまで指定できる)

standardオプションでチェックに用いる規約名を指定する。
(上記の実行例ではPSR-12を規約チェックの元としている)

標準規約一覧の確認

インストール時にデフォルトで存在し、standardオプションで指定できる規約名一覧は下記コマンドで確認することができる。

vendor/bin/phpcs -i

(一覧表示)

The installed coding standards are PEAR, Zend, PSR2, MySource, Squiz, PSR1 and PSR12

Follow me!

次の記事

PHPStanによる静的解析