摘要:腳本對文件定義了一系列的代碼規范通常使用官方的代碼規范標準,比如的,能夠檢測出不符合代碼規范的代碼并發出警告或報錯可設置報錯等級。比如規范中對每一個文件的結尾都需要有一行空行,那么運行這個腳本后就能自動在結尾處加上一行空行。
有些同學可能還沒聽過這東西,大概介紹一下:
PHP_CodeSniffer 是一個代碼風格檢測工具。它包含兩類腳本,phpcs 和 phpcbf(GitHub地址)。
phpcs 腳本對 PHP、JavaScript、CSS 文件定義了一系列的代碼規范(通常使用官方的代碼規范標準,比如 PHP 的 PSR2),能夠檢測出不符合代碼規范的代碼并發出警告或報錯(可設置報錯等級)。
phpcbf 腳本能自動修正代碼格式上不符合規范的部分。比如 PSR2 規范中對每一個 PHP 文件的結尾都需要有一行空行,那么運行這個腳本后就能自動在結尾處加上一行空行。
安裝推薦使用 composer 來安裝:
composer global require "squizlabs/php_codesniffer=*"
安裝完后就會在全局的 Vendor 目錄下的 bin 中生成兩個軟鏈接:
phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf phpcs -> ../squizlabs/php_codesniffer/bin/phpcs
如果你不知道全局 Vendor 目錄在哪,用下這個命令吧:
composer global config bin-dir --absolute命令行使用
到這一步,其實你就可以愉快的使用這兩個命令了:
哦,不過如果要全局使用這兩個命令那還是做個軟鏈接放在 /usr/local/bin 下吧~
$ phpcs test.php FILE: /Users/stephen/Develop/Code/test.php -------------------------------------------------------------------------------------------- FOUND 2 ERRORS AFFECTING 2 LINES -------------------------------------------------------------------------------------------- 2 | ERROR | [ ] Missing file doc comment 3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE" -------------------------------------------------------------------------------------------- PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY -------------------------------------------------------------------------------------------- Time: 45ms; Memory: 4Mb $ phpcbf test.php PHPCBF RESULT SUMMARY ---------------------------------------------------------------------- FILE FIXED REMAINING ---------------------------------------------------------------------- /Users/stephen/Develop/Code/test.php 1 1 ---------------------------------------------------------------------- A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE ---------------------------------------------------------------------- Time: 49ms; Memory: 4MbSublime Text 中集成 安裝插件
前提 Package Control 要安裝好,這個你肯定沒問題的(莫名的自信,逃)
安裝 phpcs 這個插件,然后打開這個插件的 Settings - User 和 Settings - Default,將后者的內容全部復制到前者。
配置插件將以下這幾個配置項配置一下:
當前環境中 php 的執行路徑
"phpcs_php_prefix_path": "/usr/bin/php",
當前環境中 phpcs 的執行路徑
"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",
執行腳本時額外添加的參數,一般以 PSR2 代碼規范作為標準,你也可以選擇 PSR1、PEAR 等
"phpcs_additional_args": { "--standard": "PSR2", "-n": "" },
當前環境中 phpcbf 的執行路徑
"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
開啟保存就執行 cbf 腳本功能
"phpcbf_on_save": true,
現在就可以愉快的玩耍了,編輯完 .php 后綴的文件保存后就會自動回復修正代碼不規范的地方。
這個插件還有其他代碼規范可以設置的地方,比如 PHP Mess Detector settings、PHP Linter settings、PHP Scheck settings
下次在研究其他幾個,目前是夠我用了,逃)
PhpStrom 中集成 配置 Code Sniffer在 Settings -> Languages & Frameworks -> PHP -> Code Sniffer 中對 phpcs 進行配置
點擊 Configuration: Local 旁邊的 ...,將當前環境的 phpcs 執行腳本所在路徑配置進去,旁邊有一個 Validate 按鈕可以進行驗證,其他兩個參數默認就好,這里也稍微說一下吧。
Maxumum number of messages per file[1...100]:每個文件最多顯示不符合代碼規范的條數,一般出現50個了那你有很多工作可以做了,其實10個就夠了,尤其對我這種代碼潔癖和強迫癥晚期的人來說一個足矣 。。。
Tool process timeout, sec[1...30]:腳本執行的超時時間
開啟驗證在 Settings -> Editor -> Inspections 中進行開啟
找到 PHP -> PHP Code Sniffer validation 選項,對其打鉤,在右側進行詳細配置
我是將 Options -> Show warnings as: Error 開啟了,當然你也可以選擇 Warnning,提示級別高一點能夠強迫自己,沒啥不好的吧~
Coding standard 依舊是選擇 PSR2,如果找不到這個選項,記得點一下緊挨著的刷新按鈕。
自動修復我找了半天沒發現 PhpStrom 有支持 phpcbf 的可用選項,所以只能通過 External Tools 來實現了。
在 Settings -> Tools -> External Tools 中進行添加,下面是我的一個示例,基本可以照搬 :)
Parameter | Value |
---|---|
Name | phpcbf |
Description | Automatically correct coding standard violations. |
Program | phpcbf |
Parameters | --standard=PSR2 "$FileDir$/$FileName$" |
現在就可以在菜單欄上的 Tools -> External Tools 中找到它并愉快的使用了。
亮哥,這樣很不方便誒。。。
那就加一個快捷鍵把。。。
在 Settings -> Keymap -> External Tools -> phpcbf 中進行添加快捷鍵操作,我設置的是 Option + F,或者 Windows 上的 Alt + F。
蜜汁延伸之前沒用 phpcbf,代碼自動修復使用的是 php-cs-fixer,但后來發現兩者功能差不多,所以秉著能少一個包就少一個包的原則,放棄了 php-cs-fixer。
有興趣的自行拓展了解~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25922.html
摘要:它包含兩類腳本,和地址腳本對文件定義了一系列的代碼規范通常使用官方的代碼規范標準,比如的,能夠檢測出不符合代碼規范的代碼并發出警告或報錯可設置報錯等級。腳本能自動修正代碼格式上不符合規范的部分。 Last-Modified: 2019年5月10日13:59:27 參考鏈接 PHP開發規范之使用phpcbf腳本自動修正代碼格式 在PhpStorm中使用PSR2編碼規范phpcbf腳本自...
摘要:使用進行代碼規范化管理是一個優秀的代碼風格檢測工具定義了一系列的代碼規范通常使用官方的代碼規范標準,比如的能夠檢測出不符合代碼規范的代碼并發出警告或報錯可設置報錯等級常被用作團隊開發時維護編碼風格以及標準。 PHPStorm IDE使用CodeSniffer進行代碼規范化管理 PHP_CodeSniffer是一個優秀的代碼風格檢測工具,定義了一系列的代碼規范(通常使用官方的代碼規范標準...
摘要:今天這篇分享將簡單地梳理一下規范,并介紹一個代碼檢查工具,結合以及進行實踐。目前流行的一些規范是的簡寫,由組織制定的規范,是開發的實踐標準。目前已表決通過了套標準,已經得到大部分框架的支持和認可。 > 作為一個新手,寫出規范的代碼也是一門必修課,除了閱讀相應的代碼規范文檔之外,充分利用相關的工具能使得進階之路事半功倍。今天這篇分享將簡單地梳理一下 PHP 規范,并介紹一個代碼檢查工具 ...
摘要:框架之間通過接口自動加載和標準的編碼風格進行合作。該規范的精髓是把命名空間的前綴和系統中的目錄對應起來。 PHP-FIG 1).即PHP Framework Interop Group。這個組織發布推薦的規范,而不是強制規范。2).PHP-FIG的使命是實現框架的互操作性。框架的互操作性指的是通過自動加載機制、接口和標準的風格,讓框架互相合作。3).框架之間通過接口、自動加載和標準的編...
摘要:標準規范簡介是的簡寫,由組織制定的規范,是開發的實踐標準。具體標準有有了統一編碼風格規范,更有利于查看和學習各個框架或類庫,不不需要每次都適應新的編碼風格。同時在開發團隊內部使用統一的編碼規范更有利于代碼審查版本控制團隊內部交流。 PHP 標準規范 PSR PSR 簡介 PSR 是 PHP Standard Recommendations 的簡寫,由 PHP FIG 組織制定的 PHP...
閱讀 3816·2021-11-18 13:19
閱讀 1169·2021-10-11 10:58
閱讀 3278·2019-08-29 16:39
閱讀 3130·2019-08-26 12:08
閱讀 2026·2019-08-26 11:33
閱讀 2453·2019-08-23 18:30
閱讀 1298·2019-08-23 18:21
閱讀 2515·2019-08-23 18:18