站長資訊網
        最全最豐富的資訊網站

        PHP_CodeSniffer是什么?如何安裝使用?

        本篇文章給大家介紹PHP_CodeSniffer,以及其安裝和使用教程。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

        PHP_CodeSniffer是一款自動化的PHP代碼規范檢查工具

        CodeSniffer內置MySourcePEARPHPCSPSR1PSR2SquizZend等幾套代碼規范。

        當然,你也可以新增自己的代碼規范

        • PHP_CodeSniffer 倉庫地址:https://github.com/squizlabs/PHP_CodeSniffer
        • PHP_CodeSniffer 版本發布地址:http://pear.php.net/package/PHP_CodeSniffer

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

        1 安裝

        PHP_CodeSniffer 有好幾種安裝方式。

        1.1 可執行文件方式安裝

        用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目錄。

        1.2 phar文件安裝方式

        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的幫助信息,說明安裝成功。

        說明:

        • 這種方式要保證php可執行文件已經添加到PATH環境,不然就得指定絕對目錄
        • 每次執行必須把這兩個.phar文件放到對應目錄,然后在那個目錄下運php phpcs.phar xxx行命令

        1.3 pear安裝方式

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

        pear install PHP_CodeSniffer

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

        1.4 composer安裝方式

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

        composer global require "squizlabs/php_codesniffer=*"

        說明:這里需要composer命令已經在PATH環境變量中。

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

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

        完成后執行命令:

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

        1.5 配置phpcs直接在命令行中執行

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

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

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

        在phpcs.bat中,我們需要配置兩個變量,才能在CMD中正確執行phpcs命令。

        如下,需指定php.exephpcs文件的絕對位置:

        if "%PHPBIN%" == "" set PHPBIN=D:php56nphp.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:wwwPHP_CodeSniffer-2.9.1scriptsphpcs" %*

        然后把路徑D:wwwPHP_CodeSniffer-2.9.1scripts加入到PATH中,就可以在CMD中執行phpcs了。

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

        2 使用

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

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

        2.1 使用命令

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

        $ 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 檢查結果

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

        $ 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

        2.3 指定規范

        可以使用 -- 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

        2.4 查看幫助

        $ phpcs -h

        推薦學習:《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲AV日韩精品一区二区三区| 亚洲精品视频在线看| 国产一区二区三区欧美精品| 久久久无码精品亚洲日韩蜜臀浪潮 | 久久精品国产精品青草app| 亚洲精品无码99在线观看| 亚欧乱色国产精品免费视频| 国产成人精品高清不卡在线| 久久99热只有频精品8| 久久中文精品无码中文字幕| 色花堂国产精品第一页| 国产精品禁18久久久夂久| 亚洲精品国产字幕久久不卡| 久久se精品一区精品二区国产| 99re66在线观看精品免费| 久久国产精品久久国产精品| 国产精品免费无遮挡无码永久视频 | 911亚洲精品国产自产| 国产精品91av| 国产92成人精品视频免费| 精品国产午夜理论片不卡| 亚洲精品少妇30p| 自拍偷在线精品自拍偷无码专区 | 91精品啪在线观看国产| 久久精品中文闷骚内射| 亚洲精品国产精品乱码在线观看 | 国产精品最新国产精品第十页| 亚洲第一精品在线视频| 久久精品国产99国产精偷| 99精品在线播放| 精品国产美女福利到在线不卡| 99在线精品视频| 国产精品专区第二| 国产精品影音先锋| 免费精品99久久国产综合精品| 九九热这里只有在线精品视| 国产成人精品免费午夜app| 国产精品久久精品| 久久亚洲国产精品一区二区| 思思99热在线观看精品| 99热热久久这里只有精品68 |