開発ではコードの仕様に全員が注意を払います。個人の開発者であれば、コードが標準化されているかどうかだけを理解する必要がありますが、チームの共同作業ではコードが標準化されているかどうかを理解する必要があります。特にコードレギュレーションは重要ですので、以下ではコード仕様を自動チェックするツール「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 サイトの他の関連記事を参照してください。