はじめに
今回は、コーディング規約にCakePHP Code Snifferを使用します。
PHP_CodeSnifferとは
PHP_CodeSnifferとは、指定したコーディング規約に沿った構文チェックを行ったり、
違反があったら自動で修正することが出来る静的解析ツールのことです。
インストール
$ composer require --dev cakephp/cakephp-codesniffer
パスをセット
$ set PATH=C:\work\test\my_app_name\vendor\bin;%PATH%
$ set PATH
Path=C:\work\test\my_app_name\vendor\bin;
パスはプロジェクトによって違うため、phpcsファイルの場所を指定してください。
また、あとで環境設定でパスを通してください。
コーディング規約のリストを表示
$ phpcs -i
The installed coding standards are MySource, PEAR, PSR1, PSR12, PSR2, Squiz, Zend, CakePHP and levomatCodingStandard
オプションの表示
$ phpcs -h
- --standard 規約をセット
- --colors 色を表示
- -p 実行の進行状況を表示
- -s すべてのレポートにスニフコードを表示
コーディング規約を指定して実行
$ phpcs --colors -p -s --standard=CakePHP src/ tests/
コードをCakePHPコーディング規約と照合する場合は、--standardコマンドライン引数を使用します。
上記ではCakePHPを使用しています。
実行
composerにPATHを通している場合
$ composer cs-check
上記以外
$ phpcs --colors -p -s --standard=CakePHP src/ tests/
実行結果
> phpcs --colors -p -s --standard=CakePHP src/ tests/"
. 1 / 1 (100%)
FILE: ...tdocs\project\src\Model\Table\ArticlesTable.php
----------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
----------------------------------------------------------------------
109 | ERROR | Double space found
185 | ERROR | Double space found
----------------------------------------------------------------------
Time: 506ms; Memory: 12MB
コーディング規約のカスタマイズ
こちらに記載いたしました。
最後に
導入すればコーディング規約に沿ってるかどうか簡単に検知してくれるため
非常に便利です。是非、使ってみてください。