本篇文章為大家介紹PHP_CodeSniffer,以及其安裝和使用教學。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
PHP_CodeSniffer是一款自動化的PHP程式碼規格檢查工具。
CodeSniffer內建MySource
、PEAR
、PHPCS
、PSR1
、PSR2
、Squiz
和Zend
等幾套程式碼規範。
當然,你也可以新增自己的程式碼規格。
PHP_CodeSniffer包含兩個工具,phpcs
# 用來#檢查程式碼規格#, phpcbf
用來修正程式碼規格。
PHP_CodeSniffer 有好幾種安裝方式。
用git指令下載(或直接下載)倉庫原始碼,然後直接執行:
git clone https://github.com/squizlabs/PHP_CodeSniffer.git cd PHP_CodeSniffer php bin/phpcs -h php bin/phpcbf -h
要使用非最新版本,可以到PEAR下載,網址:http://pear.php.net/package/PHP_CodeSniffer/download
例如,要用2.9.1
,PEAR下載之後解壓,執行的命令是:
php scripts/phpcs -h php scripts/phpcbf -h
與githuh 下載不同的是,執行檔在scripts
目錄。
phar也就是php archive,把php檔案打包成一個檔案供服務。
Linux系統用命令下載phar檔案:
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
Windows系統用瀏覽器訪問上面的兩個鏈接,下載這兩個phar檔案。
然後在phar檔案的目錄裡面執行:
php phpcs.phar -h php phpcbf.phar -h
能看到phpcs和phpcbf的幫助訊息,說明安裝成功。
說明:
.phar
檔案放到對應目錄,然後在那個目錄下運php phpcs.phar xxx
行指令
pear安裝方法),也可以透過pear來安裝PHP_CodeSniffer,指令:
pear install PHP_CodeSniffer
/path/to/pear/PHP/CodeSniffer /src/Standards。
composer global require "squizlabs/php_codesniffer=*"
說明:這裡需要composer指令已經在PATH
環境變數中。
{ "require-dev": { "squizlabs/php_codesniffer": "3.*" } }
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
phpcs指令,都需要在前面加上php。
PATH中,所以把
bin(或
scripts) 的路徑加入
PATH,就可以在終端機執行
phpcs指令了。
phpcs.bat文件,這個文件又引用了同目錄下的phpcs文件。
在phpcs.bat中,我們需要設定兩個變量,才能在CMD中正確執行phpcs指令。 如下,需指定php.exe和
phpcs檔案的絕對位置:
if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH GOTO RUN :USE_PEAR_PATH set PHPBIN=%PHP_PEAR_PHP_BIN% :RUN "%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*
說明:phpcbf也需要這樣的修改。
$ phpcs /path/to/code/myfile.php # 检查文件 $ phpcs /path/to/code # 检查目录和子目录下的所有文件 $ phpcs -l /path/to/code # 检查目录下的所有文件,不包括子目录 $ phpcs /path/to/code/myfile.inc /path/to/code/my_dir # 检查文件和目录
$ phpcs /path/to/code/myfile.php FILE: /path/to/code/myfile.php -------------------------------------------------------------------------------- FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S) -------------------------------------------------------------------------------- 2 | ERROR | Missing file doc comment 20 | ERROR | PHP keywords must be lowercase; expected "false" but found | | "FALSE" 47 | ERROR | Line not indented correctly; expected 4 spaces but found 1 47 | WARNING | Equals sign not aligned with surrounding assignments 51 | ERROR | Missing function doc comment 88 | ERROR | Line not indented correctly; expected 9 spaces but found 6 --------------------------------------------------------------------------------
如果不要显示警告,加个-n
参数:
$ phpcs -n /path/to/code/myfile.php
仅显示检查结果概要:
$ phpcs --report=summary /path/to/code
可以使用 -- standard
参数指定一个或多个规范来检查。
$ phpcs --standard=PEAR /path/to/code/myfile.inc # 使用内置规范 $ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc # 使用指定路径下的规范 $ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php # 使用多个规范 $ phpcs --config-set default_standard Squiz # 修改默认规范为Squiz(原本是PEAR)
查看现有规范:
$ phpcs -i
$ phpcs -h
推荐学习:《PHP视频教程》
以上是PHP_CodeSniffer是什麼?如何安裝使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!