ホームページ >バックエンド開発 >PHPチュートリアル >PHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)

PHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)

青灯夜游
青灯夜游転載
2020-06-28 09:54:333572ブラウズ

PHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)

このことについてまだ聞いたことがない学生もいるかもしれません。簡単に紹介します:

PHP_CodeSniffer はコード スタイル検出ツールです。 。これには、phpcsphpcbf (GitHub アドレス) の 2 種類のスクリプトが含まれています。

phpcs このスクリプトは、PHPJavaScriptCSS ファイルの一連のコード仕様を定義します (通常は公式のコード仕様標準 (PHPPSR2 など) は、コード仕様に準拠していないコードを検出し、警告またはエラーを発行できます (エラー レベルは設定可能)。

phpcbf スクリプトは、標準に準拠していないコード形式の部分を自動的に修正できます。たとえば、PSR2 仕様では、各 PHP ファイルの末尾に空行が必要ですが、このスクリプトを実行すると、最後に空行が自動的に追加されます。

インストール

composer を使用してインストールすることをお勧めします:

composer global require "squizlabs/php_codesniffer=*"

インストール後、グローバル Vendor ディレクトリの下の bin に 2 つのソフト リンクが生成されます。

phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf
phpcs -> ../squizlabs/php_codesniffer/bin/phpcs

グローバル Vendor# の場所がわからない場合は、 ## ディレクトリは、次のコマンドを発行するだけです:

composer global config bin-dir --absolute

コマンド ラインの使用法

この時点で、実際にこれら 2 つのコマンドを使用できます。幸いなことに:

ああ、しかしこれら 2 つのコマンドをグローバルに使用したい場合は、ソフト リンクを作成して

/usr/local/bin~

$ phpcs test.php

FILE: /Users/stephen/Develop/Code/test.php
--------------------------------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------
 2 | ERROR | [ ] Missing file doc comment
 3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE"
--------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------------------

Time: 45ms; Memory: 4Mb

$ phpcbf test.php

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/Users/stephen/Develop/Code/test.php                  1      1
----------------------------------------------------------------------
A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE
----------------------------------------------------------------------

Time: 49ms; Memory: 4Mb
## に置く必要があります。

#Sublime Text への統合##プラグインのインストール

前提条件Package Control

インストールするには適切に、あなたは間違いなくこれを持っていません 問題 (説明できない自信、逃避)

phpcs

プラグインをインストールし、

設定 - ユーザー## を開きます。 # と Settings - Default of this plug-in. 、後者の内容をすべて前者にコピーします。 設定プラグイン

次の設定項目を設定します: 現在の環境での

php

の実行パス

"phpcs_php_prefix_path": "/usr/bin/php",

現在の環境での phpcs の実行パス

"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",

スクリプトの実行時に追加される追加パラメータは、通常、PSR2 コード仕様に基づいています。

PSR1

PEAR などを選択することもできます。<pre class="brush:php;toolbar:false">&quot;phpcs_additional_args&quot;: {     &quot;--standard&quot;: &quot;PSR2&quot;,     &quot;-n&quot;: &quot;&quot; },</pre>現在の環境での phpcbf の実行パス

"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",

保存と実行を開始cbf スクリプト関数

"phpcbf_on_save": true,

これで楽しくプレイできます。.php 接尾辞を持つファイルを編集して保存すると、自動的にコードの不規則性を修正するには返信してください。

このプラグインには、PHP Mess Detector 設定

PHP Linter 設定

PHP Scheck 設定など、コード仕様を設定できる他の場所もあります。 次回は他のいくつかを勉強します。現時点ではこれで十分です。逃げてください)

#PhpStrom に統合

#コード スニッファーの構成

設定 -> 言語とフレームワーク -> PHP -> コード スニッファーで

phpcs を構成します

クリック

設定: ローカル ...

の横に、現在の環境の

phpcs実行スクリプトが配置されているパスを設定します。その横にある ##Validate ボタン。確認のため、他の 2 つのパラメータはデフォルトのままにしておきます。ここで少し説明しましょう。 ファイルごとの最大メッセージ数[1...100]: 各ファイルには、コード仕様に準拠していないメッセージの最大数が表示されます。通常は 50 個のメッセージが表示されます。やるべきことがたくさんあります。私はそれをやり遂げました。実際、特に私のようにコードに夢中で強迫性障害の後期段階にある人にとっては、10 あれば十分です。1 つで十分です。 。 。

ツール プロセス タイムアウト、秒[1...30]

: スクリプト実行のタイムアウト

検証を有効にする

ターン[設定] -> [エディター] -> [検査] でオンにします。

[PHP] -> [PHP コード スニッファー] 検証オプションを見つけてチェックし、右側で詳細を設定します。変更しましたオプション -> 警告を次のように表示します: エラーがオンになっています。もちろん、警告を選択することもできます。プロンプトのレベルが高い場合は、強制することもできます。問題はありません~

コーディング標準PSR2 が見つからない場合は、引き続き PSR2 を選択してください。このオプションの隣にある更新ボタンを忘れずにクリックしてください。

自動修復

長い間探していましたが、

PhpStrom

に ## をサポートする利用可能なオプションがあることがわかりませんでした。 #phpcbf なので、外部ツール

が実装されていることのみを渡すことができます。

[設定] -> [ツール] -> [外部ツール] に追加します。これは私の例であり、基本的にコピーできます:)パラメータ

説明プログラムパラメータ

メニュー バーの [ツール] -> [外部ツール] でこのツールを見つけて、楽しく使用できるようになりました。

梁兄弟、これはとても不便です。 。 。

次にショートカット キーを追加します。 。 。

設定 -> キーマップ -> 外部ツール -> phpcbf にショートカット キーを追加します。Windows では Option F または Alt F## を設定します。

Honey 拡張機能

phpcbf より前に使用されていませんでした。コードは php-cs を使用して自動的に修復されます。 -fixer を使用していましたが、後からこの 2 つの機能が似ていることがわかったので、可能であれば 1 つのパッケージを欠落させるという原則に基づいて php-cs-fixer を諦めました。

興味があれば、ご自身で理解を深めてください ~

推奨: 「

PHP ビデオ チュートリアル

名前 phpcbf
コーディング標準違反を自動的に修正します。
phpcbf
--standard = PSR2 "$FileDir$/$FileName$"

以上がPHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。