PHP_CodeSniffer のインストールと使用方法のチュートリアル (自動コード検査仕様ツール)

angryTom
リリース: 2023-04-07 16:58:01
転載
2771 人が閲覧しました

PHP_CodeSniffer のインストールと使用方法のチュートリアル (自動コード検査仕様ツール)

開発ではコードの仕様に全員が注意を払います。個人の開発者であれば、コードが標準化されているかどうかだけを理解する必要がありますが、チームの共同作業ではコードが標準化されているかどうかを理解する必要があります。特にコードレギュレーションは重要ですので、以下ではコード仕様を自動チェックするツール「PHP_CodeSniffer」を紹介します。

PHP_CodeSniffer は、自動化された PHP コード仕様チェック ツールです。

CodeSniffer には、MySource、PEAR、PHPCS、PSR1、PSR2、Squiz、Zend などのコード仕様のいくつかのセットが組み込まれています。

もちろん、独自のコード仕様を追加することもできます

PHP_CodeSniffer ウェアハウス アドレス: https://github.com/squizlabs/PHP_CodeSniffer

PHP_CodeSniffer バージョン リリース アドレス: http://pear.php.net/package/PHP_CodeSniffer

# #PHP_CodeSniffer には 2 つのツールが含まれています。phpcs は

コード仕様の確認 に使用され、phpcbf は コード仕様の修正 に使用されます。

1 インストール

PHP_CodeSniffer をインストールするにはいくつかの方法があります。

1.1 実行可能ファイルによるインストール

git コマンドを使用してウェアハウスのソース コードをダウンロード (または直接ダウンロード) し、直接実行します:

git clone https://github.com/squizlabs/PHP_CodeSniffer.git<br/>cd PHP_CodeSniffer<br/>php bin/phpcs -h<br/>php bin/phpcbf -h<br/>
ログイン後にコピー

非使用の場合 - 最新バージョンは、PEAR からダウンロードできます: http://pear.php.net/package/PHP_CodeSniffer/download

たとえば、2.9.1 を使用したい場合は、ダウンロードした後、

php scripts/phpcs -h<br/>php scripts/phpcbf -h<br/>
ログイン後にコピー

githuh ダウンロードとは異なり、実行ファイルは script ディレクトリにあります。

1.2 phar ファイルのインストール方法

phar は、php ファイルを 1 つのファイルにパッケージ化してサービスする php アーカイブです。

Linux システムでは、次のコマンドを使用して phar ファイルをダウンロードします。

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar<br/>curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar<br/>
ログイン後にコピー

Windows システムの場合は、ブラウザを使用して上記の 2 つのリンクにアクセスし、2 つの phar ファイルをダウンロードします。

次に、phar ファイルのディレクトリで実行します:

php phpcs.phar -h<br/>php phpcbf.phar -h<br/>
ログイン後にコピー

phpcs と phpcbf のヘルプ情報が表示され、インストールが成功したことがわかります。

注:

このメソッドでは、php 実行可能ファイルが PATH 環境に追加されていることを確認する必要があります。そうでない場合は、絶対ディレクトリを指定する必要があります。

これら 2 つを追加する必要があります。実行されるたびに.phar ファイルを対応するディレクトリにコピーし、そのディレクトリで php phpcs.phar xxx 行コマンドを実行します。

1.3 pear のインストール方法

If pear はローカルにインストールされます (pear インストール方法)。pear を使用して PHP_CodeSniffer をインストールすることもできます。コマンド:

pear install PHP_CodeSniffer<br/>
ログイン後にコピー

pear を使用してインストールした後、CodeSniffer 仕様ファイルは /path/to/pear/PHP/ にインストールされます。 CodeSniffer/ソース/標準。

1.4 Composer のインストール方法

composer のインストールも非常に便利です。コマンド 1 つで行うことができます:

composer global require "squizlabs/php_codesniffer=*"<br/>
ログイン後にコピー

注: ここでは、composer コマンドが必要です。 PATH 環境変数。

composer.json ファイルでも使用できます:

{<br/>    "require-dev": {<br/>        "squizlabs/php_codesniffer": "3.*"<br/>    }<br/>}<br/>
ログイン後にコピー

完了後にコマンドを実行します:

./vendor/bin/phpcs -h<br/>./vendor/bin/phpcbf -h<br/>
ログイン後にコピー

1.5 phpcs を設定し、コマンド内で直接実行します。 line

上記の方法のうち、pear のインストール方法を除き、他の方法で phpcs コマンドを実行したい場合は、先頭に php を追加する必要があります。

Linux によって提供されている場合は、php 実行ファイルのパスが環境 PATH に既に存在するため、bin (またはスクリプト) のパスを PATH に追加すると、ターミナルで phpcs コマンドを実行できます。

しかし、Windows システムでは、実際には phpcs.bat ファイルが実行され、このファイルは同じディレクトリ内の phpcs ファイルを参照します。

CMD で phpcs コマンドを正しく実行するには、phpcs.bat で 2 つの変数を構成する必要があります。

次のように、php.exe および phpcs ファイルの絶対場所を指定する必要があります:

if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe<br/>if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH<br/>GOTO RUN<br/>:USE_PEAR_PATH<br/>set PHPBIN=%PHP_PEAR_PHP_BIN%<br/>:RUN<br/>"%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*<br/>
ログイン後にコピー

次に、パス D:\www\PHP_CodeSniffer-2.9.1\scripts\ を追加します。 PATH を指定し、CMD で phpcs を実行できます。

注: phpcbf にもそのような変更が必要です。

2 使用方法

PHP_CodeSniffer には 2 つのコマンドがあることを上で見ました。

デフォルトでは、PHP_CodeSniffer は PEAR 仕様を使用してコードをチェックします。

2.1 コマンドを使用する

次のコマンドは、デフォルトの仕様を使用してファイルとディレクトリをチェックします。

$ phpcs /path/to/code/myfile.php                        # 检查文件<br/>$ phpcs /path/to/code                                   # 检查目录和子目录下的所有文件<br/>$ phpcs -l /path/to/code                                # 检查目录下的所有文件,不包括子目录<br/>$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir   # 检查文件和目录<br/>
ログイン後にコピー

2.2 チェック結果

デフォルトでは、チェック結果には次のようなエラーと警告が含まれます。

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

表示したくない場合は、警告、-n パラメータを追加:

$ phpcs -n /path/to/code/myfile.php<br/>
ログイン後にコピー

チェック結果の概要のみを表示:

$ phpcs --report=summary /path/to/code<br/>
ログイン後にコピー

2.3 仕様の指定

--standard を使用できます。パラメータで 1 つ以上の仕様を指定します。ぜひチェックしてください。

$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用内置规范<br/>$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc       # 使用指定路径下的规范<br/>$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php            # 使用多个规范<br/>$ phpcs --config-set default_standard Squiz                           # 修改默认规范为Squiz(原本是PEAR)<br/>
ログイン後にコピー

既存の仕様を表示:

$ phpcs -i<br/>
ログイン後にコピー

2.4 ヘルプを表示

$ phpcs -h<br/>
ログイン後にコピー

PHP 関連の詳細については、

PHP 中国語 Web サイト# # を参照してください。 #!

以上がPHP_CodeSniffer のインストールと使用方法のチュートリアル (自動コード検査仕様ツール)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:www.awaimai.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!