PHP CodeSniffer で定義したコーディング規約をチェックし違反を検出します。
今回は、コマンドで実行する場合と atom エディタを使って設定する場合を行ってみます。
Contents
PHP CodeSniffer
コーディング規約のチェックを行うツールです。
インストール
-
github からダウンロードする場合
12curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.pharcurl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar12wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.pharwget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar -
Composer でインストールする場合
1composer global require "squizlabs/php_codesniffer=*"
設定
Atom の「linter-phpcs」で下記の項目を設定します。
-
Executable Path
実行する phpcs のパス
「/path/to/PHP_CodeSniffer/bin/phpcs」 -
Code Standard Or Config File
指定する規約のファイルパス
「/path/to/PHP_CodeSniffer/phpcs.xml」
操作
コマンド
-
ファイル指定
1/path/to/phpcs /path/to/xxx.php -
standard オプション
ルールを指定した場合に指定します。1/path/to/phpcs --standard=/path/to/src/Standards/MySource/ruleset.xml /path/to/xxx.php -
extensions オプション
拡張子を指定した場合に指定します。1/path/to/phpcs --extensions=php /path/to/xxx.php -
ディレクトリ指定
拡張子を指定した場合に指定します。1/path/to/phpcs --extensions=php,inc /path/to/ -
自動整形
1/path/to/phpcbf --extensions=php,inc /path/to/
Atom プラグイン
インストール
-
検索からインストールする場合
File - Settings - Install
「Install Package」から 「linter-phpcs」で検索してインストール -
コマンドからインストールする場合
1apm install linter-phpcs
設定
Atom の「linter-phpcs」で下記の項目を設定します。
-
Executable Path
実行する phpcs のパス
「/path/to/PHP_CodeSniffer/bin/phpcs」 -
Code Standard Or Config File
指定する規約のファイルパス
「/path/to/PHP_CodeSniffer/phpcs.xml」
VSCode プラグイン
Mac の場合
Mac に php-code-sniffer をインストール
1 2 3 4 |
$ brew install php-code-sniffer // CompilerSelectionError となる場合 xcode-select --install |
Composer インストール
1 2 3 4 5 6 7 |
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $ php composer-setup.php $ php -r "unlink('composer-setup.php'); // 環境変数パスが通っている箇所に移動 $ mv composer.phar /usr/local/bin/composer |
php_codesniffer をインストール
1 2 3 4 |
$ composer global require squizlabs/php_codesniffer // プロジェクト単位の場合 $ composer require --dev squizlabs/php_codesniffer |
PSR2 を設定する場合
「拡張機能設定」から settings.json を編集
1 |
"phpcs.standard": "PSR2" |
備考
v2.x から phpcbf が追加され自動整形が可能となりました。