ホームページ >バックエンド開発 >PHPチュートリアル >PHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)
このことについてまだ聞いたことがない学生もいるかもしれません。簡単に紹介します:
PHP_CodeSniffer
はコード スタイル検出ツールです。 。これには、phpcs
と phpcbf
(GitHub アドレス) の 2 種類のスクリプトが含まれています。
phpcs
このスクリプトは、PHP
、JavaScript
、CSS
ファイルの一連のコード仕様を定義します (通常は公式のコード仕様標準 (PHP
の PSR2
など) は、コード仕様に準拠していないコードを検出し、警告またはエラーを発行できます (エラー レベルは設定可能)。
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
コード仕様に基づいています。
、PEAR
などを選択することもできます。<pre class="brush:php;toolbar:false">"phpcs_additional_args": {
"--standard": "PSR2",
"-n": ""
},</pre>
現在の環境での phpcbf
の実行パス
"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
保存と実行を開始cbf
スクリプト関数
"phpcbf_on_save": true,
これで楽しくプレイできます。.php
接尾辞を持つファイルを編集して保存すると、自動的にコードの不規則性を修正するには返信してください。
このプラグインには、PHP Mess Detector 設定
、
、PHP Scheck 設定など、コード仕様を設定できる他の場所もあります。
次回は他のいくつかを勉強します。現時点ではこれで十分です。逃げてください)
#コード スニッファーの構成
設定 -> 言語とフレームワーク -> PHP -> コード スニッファーでphpcs を構成します
クリック設定: ローカル
...
phpcs実行スクリプトが配置されているパスを設定します。その横にある ##Validate
ボタン。確認のため、他の 2 つのパラメータはデフォルトのままにしておきます。ここで少し説明しましょう。 ファイルごとの最大メッセージ数[1...100]
: 各ファイルには、コード仕様に準拠していないメッセージの最大数が表示されます。通常は 50 個のメッセージが表示されます。やるべきことがたくさんあります。私はそれをやり遂げました。実際、特に私のようにコードに夢中で強迫性障害の後期段階にある人にとっては、10 あれば十分です。1 つで十分です。 。 。
: スクリプト実行のタイムアウト
ターン[設定] -> [エディター] -> [検査] でオンにします。
[PHP] -> [PHP コード スニッファー] 検証オプションを見つけてチェックし、右側で詳細を設定します。変更しましたオプション -> 警告を次のように表示します: エラーがオンになっています。もちろん、警告を選択することもできます。プロンプトのレベルが高い場合は、強制することもできます。問題はありません~
コーディング標準PSR2 が見つからない場合は、引き続き PSR2 を選択してください。このオプションの隣にある更新ボタンを忘れずにクリックしてください。
自動修復長い間探していましたが、
PhpStromに ## をサポートする利用可能なオプションがあることがわかりませんでした。 #phpcbf なので、外部ツール
が実装されていることのみを渡すことができます。[設定] -> [ツール] -> [外部ツール] に追加します。これは私の例であり、基本的にコピーできます:)
パラメータ
値
名前 | phpcbf |
---|---|
コーディング標準違反を自動的に修正します。 | |
phpcbf | |
--standard = PSR2 "$FileDir$/$FileName$" |
以上がPHP_CodeSnifferを使ってコード仕様を確認する方法(詳細説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。