1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHP_CodeSnifferの導入方法と解説

Last updated at Posted at 2022-05-20

はじめに

今回は、コーディング規約に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

コーディング規約のカスタマイズ

こちらに記載いたしました。

最後に

導入すればコーディング規約に沿ってるかどうか簡単に検知してくれるため
非常に便利です。是非、使ってみてください。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?