PHP_CodeSniffer安裝和使用方法

小編給大家分享一下PHP_CodeSniffer安裝和使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們提供的服務有:網(wǎng)站設(shè)計制作、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、烏什ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的烏什網(wǎng)站制作公司

                                                           

在我們開發(fā)中都會講究代碼規(guī)范,若是個人開發(fā)者,代碼規(guī)范與否,只要自己看得懂便可以了,但是在團隊協(xié)作中,代碼規(guī)定尤為重要,下面,我們介紹一款PHP_CodeSniffer,自動檢查代碼規(guī)范的工具。

PHP_CodeSniffer是一款自動化的PHP代碼規(guī)范檢查工具。

CodeSniffer內(nèi)置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等幾套代碼規(guī)范。

當然,你也可以新增自己的代碼規(guī)范。

PHP_CodeSniffer 倉庫地址:https://github.com/squizlabs/PHP_CodeSniffer

PHP_CodeSniffer 版本發(fā)布地址:http://pear.php.net/package/PHP_CodeSniffer

PHP_CodeSniffer包含兩個工具,phpcs用來檢查代碼規(guī)范,phpcbf用來糾正代碼規(guī)范。

1 安裝

PHP_CodeSniffer 有好幾種安裝方式。

1.1 可執(zhí)行文件方式安裝

用git命令下載(或直接下載)倉庫源碼,然后直接執(zhí)行:

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下載之后解壓,執(zhí)行的命令是:

php scripts/phpcs -h
php scripts/phpcbf -h

與 githuh 下載不同的是,執(zhí)行文件在scripts目錄。

1.2 phar文件安裝方式

phar也就是php archive,把php文件打包成一個文件供服務。

Linux系統(tǒng)用命令下載phar文件:

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

Windows系統(tǒng)用瀏覽器訪問上面的兩個鏈接,下載這兩個phar文件。

然后在phar文件的目錄里面執(zhí)行:

php phpcs.phar -h
php phpcbf.phar -h

能看到phpcs和phpcbf的幫助信息,說明安裝成功。

說明:

這種方式要保證php可執(zhí)行文件已經(jīng)添加到PATH環(huán)境,不然就得指定絕對目錄

每次執(zhí)行必須把這兩個.phar文件放到對應目錄,然后在那個目錄下運php phpcs.phar xxx行命令

1.3 pear安裝方式

如果本地安裝了pear(pear安裝方法),也可以通過pear來安裝PHP_CodeSniffer,命令:

pear install PHP_CodeSniffer

通過pear安裝后,CodeSniffer的規(guī)范文件會安裝在:/path/to/pear/PHP/CodeSniffer/src/Standards。

1.4 composer安裝方式

composer安裝也很方便,一個命令:

composer global require "squizlabs/php_codesniffer=*"

說明:這里需要composer命令已經(jīng)在PATH環(huán)境變量中。

也可以在composer.json文件中使用:

{
"require-dev": {
"squizlabs/php_codesniffer": "3.*"
}
}

完成后執(zhí)行命令:

./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h

1.5 配置phpcs直接在命令行中執(zhí)行

以上的方式中,除了pear安裝方式,其他方式要執(zhí)行phpcs命令,都需要在前面加上php。

如果是Linux提供,因為php執(zhí)行文件路徑已經(jīng)在環(huán)境PATH中,所以把bin(或scripts) 的路徑加入PATH,就可以在終端執(zhí)行phpcs命令了。

但是在Windows系統(tǒng)中,實際是執(zhí)行phpcs.bat文件,這個文件又引用了同目錄下的phpcs文件。

在phpcs.bat中,我們需要配置兩個變量,才能在CMD中正確執(zhí)行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" %*

然后把路徑D:\www\PHP_CodeSniffer-2.9.1\scripts\加入到PATH中,就可以在CMD中執(zhí)行phpcs了。

說明:phpcbf也需要這樣的修改。

2 使用

上面我們看到 PHP_CodeSniffer 有兩個命令。

默認情況下,PHP_CodeSniffer 使用PEAR規(guī)范檢查代碼。

2.1 使用命令

以下命令用默認規(guī)范來來檢查文件和目錄。

$ 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 # 檢查文件和目錄

2.2 檢查結(jié)果

默認情況下,檢查結(jié)果包含錯誤和警告,如下:

$ 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參數(shù):

$ phpcs -n /path/to/code/myfile.php

僅顯示檢查結(jié)果概要:

$ phpcs --report=summary /path/to/code

2.3 指定規(guī)范

可以使用 -- standard參數(shù)指定一個或多個規(guī)范來檢查。

$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用內(nèi)置規(guī)范
$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc # 使用指定路徑下的規(guī)范
$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php # 使用多個規(guī)范
$ phpcs --config-set default_standard Squiz # 修改默認規(guī)范為Squiz(原本是PEAR)

查看現(xiàn)有規(guī)范:

$ phpcs -i

2.4 查看幫助

$ phpcs -h

以上是PHP_CodeSniffer安裝和使用方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:PHP_CodeSniffer安裝和使用方法
鏈接地址:http://muchs.cn/article42/jehhhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站云服務器、標簽優(yōu)化網(wǎng)站營銷、靜態(tài)網(wǎng)站、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)