使用法

使用法 – 標準的な使用法

コマンドラインでのヘルプの取得

PHP_CodeSniffer にコマンドライン引数 -h あるいは --help をつけて実行すると、PHP_CodeSniffer で使用できるコマンドの一覧が表示されます。 phpcs -h の出力内容は、次のようになります。


Usage: phpcs [-nwlvi] [--report=<report>] [--standard=<standard>]
    [--config-set key value] [--config-delete key] [--config-show]
    [--generator=<generator>] [--extensions=<extensions>]
    [--ignore=<patterns>] [--tab-width=<width>] <file> ...
        -n           Do not print warnings
        -w           Print both warnings and errors (on by default)
        -l           Local directory only, no recursion
        -v[v][v]     Print verbose output
        -i           Show a list of installed coding standards
        --help       Print this help message
        --version    Print version information
        <file>       One or more files and/or directories to check
        <extensions> A comma separated list of file extensions to check
                     (only valid if checking a directory)
        <patterns>   A comma separated list of patterns that are used
                     to ignore directories and files
        <standard>   The name of the coding standard to use
        <width>      The number of spaces each tab represents
        <generator>  The name of a doc generator to use
                     (forces doc generation instead of checking)
        <report>     Print either the "full", "xml", "checkstyle",
                     "csv" or "summary" report
                     (the "full" report is printed by default)

コマンドライン引数 --standard はオプションです。 これは、複数のコーディング規約をインストールしている場合でも同様です。 コーディング規約を指定しなかった場合は、PHP_CodeSniffer はデフォルトで PEAR コーディング規約 (あるいはあなたがデフォルトとして設定した規約) によるチェックを行います。 デフォルトのコーディング規約を設定する方法はこちらをごらんください

ファイルおよびフォルダのチェック

PHP_CodeSniffer のもっともシンプルな使用法は、PHP_CodeSniffer でチェックしたいファイルやフォルダの場所を指定することです。 フォルダを指定した場合は、PHP_CodeSniffer はそのフォルダおよびサブフォルダ内のすべてのファイルをチェックします。

サブフォルダ内のチェックが不要な場合は、コマンドラインオプション -l を使用します。これは、PHP_CodeSniffer が指定したフォルダのみを処理するようにするものです。

以下の例では、最初のコマンドは PHP_CodeSniffer を使用して myfile.inc ファイルのチェックを行います。 二番目のコマンドは、PHP_CodeSniffer で my_dir ディレクトリ内のすべての PHP ファイルをチェックします。

単一のファイルやフォルダのチェック


$ phpcs /path/to/code/myfile.inc
$ phpcs /path/to/code/my_dir

複数のファイルやフォルダを指定することもできます。以下のコマンドは、 PHP_CodeSniffer を使用して myfile.inc ファイルおよび my_dir ディレクトリの全ファイルをチェックします。

複数のファイルやフォルダのチェック


$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir

PHP_CodeSniffer がファイルのチェックを終えると、 エラーレポートが表示されます。このレポートには、 コーディング規約に反するすべてのファイルについてのエラーや警告が表示されます。 その内容は、このようになります。

PHP_CodeSniffer の出力例


$ phpcs /path/to/code/myfile.php

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | Missing file doc comment
 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
    |         | "FALSE"
 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
 47 | WARNING | Equals sign not aligned with surrounding assignments
 51 | ERROR   | Missing function doc comment
 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

警告を出力に含めたくない場合は、コマンドライン引数 -n を指定します。

警告を表示しない PHP_CodeSniffer の出力例


$ phpcs -n /path/to/code/myfile.php

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR | Missing file doc comment
 20 | ERROR | PHP keywords must be lowercase; expected "false" but found "FALSE"
 47 | ERROR | Line not indented correctly; expected 4 spaces but found 1
 51 | ERROR | Missing function doc comment
 88 | ERROR | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

概要レポートの表示

デフォルトでは、PHP_CodeSniffer は見つかったエラーや警告の完全な一覧を表示します。 これは、特に多くのファイルを一度にチェックした場合には相当な長さになりえます。 各ファイルごとのエラーや警告の数だけの概要レポートを表示させるには、 コマンドライン引数 --report=summary を使用します。 出力結果は、このようになります。

PHP_CodeSniffer の概要出力例


$ phpcs --report=summary /path/to/code

PHP CODE SNIFFER REPORT SUMMARY
--------------------------------------------------------------------------------
FILE                                                            ERRORS  WARNINGS
--------------------------------------------------------------------------------
/path/to/code/myfile.inc                                        5       0
/path/to/code/yourfile.inc                                      1       1
/path/to/code/ourfile.inc                                       0       2
--------------------------------------------------------------------------------
A TOTAL OF 6 ERROR(S) AND 3 WARNING(S) WERE FOUND IN 3 FILE(S)
--------------------------------------------------------------------------------

完全な出力と同様、コマンドライン引数 -n を指定すると警告を表示しなくなります。

警告を表示しない、PHP_CodeSniffer の概要出力例


$ phpcs -n --report=summary /path/to/code

PHP CODE SNIFFER REPORT SUMMARY
--------------------------------------------------------------------------------
FILE                                                                      ERRORS
--------------------------------------------------------------------------------
/path/to/code/myfile.inc                                                  5
/path/to/code/yourfile.inc                                                1
--------------------------------------------------------------------------------
A TOTAL OF 6 ERROR(S) WERE FOUND IN 2 FILE(S)
--------------------------------------------------------------------------------

詳細な出力の表示

デフォルトでは PHP_CodeSniffer は何も言わずに動作し、 最後にエラーや警告を表示するだけです。大量のファイルをチェックする場合は、 結果が表示されるまでにしばらく待つ必要があるかもしれません。 いま何が起こっているのかを知るために、詳細な出力をさせることができます。

詳細な出力を有効にすると、PHP_CodeSniffer はまずチェックしているファイルを表示し、 そのファイル中のトークンの数と行数を表示します。そして、 その処理にかかった時間がわかるようになります。結果はこのようになります。

PHP_CodeSniffer の詳細出力例


$ phpcs /path/to/code/CodeSniffer -v
Registering sniffs in PEAR standard... DONE (24 sniffs registered)
Processing AbstractDocElement.php [1093 tokens in 303 lines]... DONE in < 1 second (0 errors, 1 warnings)
Processing AbstractParser.php [2360 tokens in 558 lines]... DONE in 2 seconds (0 errors, 1 warnings)
Processing ClassCommentParser.php [923 tokens in 296 lines]... DONE in < 1 second (2 errors, 0 warnings)
Processing CommentElement.php [988 tokens in 218 lines]... DONE in < 1 second (1 error, 5 warnings)
Processing FunctionCommentParser.php [525 tokens in 184 lines]... DONE in 1 second (0 errors, 6 warnings)
Processing File.php [10968 tokens in 1805 lines]... DONE in 5 seconds (0 errors, 5 warnings)
Processing Sniff.php [133 tokens in 94 lines]... DONE in < 1 second (0 errors, 0 warnings)
Processing SniffException.php [47 tokens in 36 lines]... DONE in < 1 second (1 errors, 3 warnings)

コーディング規約の指定

PHP_CodeSniffer は、複数のプロジェクトで使用するために、 複数のコーディング規約をインストールすることができます。 PHP コードをチェックする際に、どのコーディング規約を使用するかを PHP_CodeSniffer に指定することができます。これを行うのが、コマンドライン引数 --standard です。

以下の例は、myfile.inc ファイルの内容を PEAR コーディング規約 (デフォルトでインストールされます) でチェックします。

使用するコーディング規約の指定

    

$ phpcs --standard=PEAR /path/to/code/myfile.inc

インストールされているコーディング規約一覧の表示

PHP_CodeSniffer は、インストールされているコーディング規約を一覧表示することができます。 これを利用することで、使用するコーディング規約を正しく指定できるようになります。 この一覧を表示するには、コマンドライン引数 -i を指定します。

インストールされているコーディング規約一覧の生成


$ phpcs -i
The installed coding standards are Zend, PEAR, PHPCS, Squiz and MySource
A list of software requirements (Previous) 高度な使用法についての情報 (Next)
Last updated: Tue, 21 Oct 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.