開発ではコードの仕様に全員が注意を払います。個人の開発者であれば、コードが標準化されているかどうかだけを理解する必要がありますが、チームの共同作業ではコードが標準化されているかどうかを理解する必要があります。特にコードレギュレーションは重要ですので、以下ではコード仕様を自動チェックするツール「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/>
php scripts/phpcs -h<br/>php scripts/phpcbf -h<br/>
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/>
php phpcs.phar -h<br/>php phpcbf.phar -h<br/>
1.3 pear のインストール方法
If pear はローカルにインストールされます (pear インストール方法)。pear を使用して PHP_CodeSniffer をインストールすることもできます。コマンド:pear install PHP_CodeSniffer<br/>
1.4 Composer のインストール方法
composer のインストールも非常に便利です。コマンド 1 つで行うことができます:composer global require "squizlabs/php_codesniffer=*"<br/>
{<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/>
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/>
$ 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 中国語 Web サイト# # を参照してください。 #!
以上がPHP_CodeSniffer のインストールと使用方法のチュートリアル (自動コード検査仕様ツール)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。