警告
這個存儲庫已被放棄。它的繼任者是phpcsstandards/php_codesniffer
有關更多信息,請參見第3932號問題。
php_codesniffer是兩個PHP腳本的集合;將PHP,JavaScript和CSS文件的主要phpcs
腳本用於檢測違反已定義的編碼標準的行為,以及第二個phpcbf
腳本以自動糾正編碼標準違規行為。 php_codesniffer是一種必不可少的開發工具,可確保您的代碼保持清潔和一致。
php_codesniffer需要PHP版本5.4.0或更高版本,儘管單個嗅探可能有其他要求,例如外部應用程序和腳本。有關這些要求的列表,請參見“配置選項手冊”頁面。
如果您使用php_codesniffer作為團隊的一部分,或者在CI服務器上運行它,則可能需要使用配置文件來配置項目的設置。
開始使用php_codesniffer的最簡單方法是為每個命令下載PHAR文件:
# Download using curl curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Or download using wget wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar # Then test the downloaded PHARs php phpcs.phar -h php phpcbf.phar -h
如果使用Composer,則可以使用以下命令安裝php_codesniffer系統範圍:
作曲家Global需要“ Squizlabs/php_codesniffer =*”
確保您的路徑中有作曲家bin dir。默認值為~/.composer/vendor/bin/
,但是您可以通過運行composer global config bin-dir --absolute
檢查需要使用的值。
或者,在您的composer.json
文件中包括squizlabs/php_codesniffer
的依賴關係。例如:
{“ require-dev”:{“ squizlabs/php_codesniffer”:“ 3.*”} }
然後,您將能夠從供應商bin目錄運行php_codesniffer:
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
如果使用Phive,則可以使用以下命令安裝Php_codesniffer作為項目工具:
Phive安裝PHPC Phive安裝PHPCBF
然後,您將能夠從工具目錄運行php_codesniffer:
./tools/phpcs -h ./tools/phpcbf -h
如果使用梨,則可以使用梨安裝程序安裝php_codesniffer。這將使phpcs
和phpcbf
命令立即使用。要使用梨安裝程序安裝php_codesniffer,請首先確保已安裝梨,然後運行以下命令:
梨安裝php_codesniffer
您還可以下載php_codesniffer源,並直接從git克隆中運行phpcs
和phpcbf
命令:
git克隆https://github.com/squizlabs/php_codesniffer.gitcd php_codesniffer php bin/phpcs -H php bin/phpcbf -h
php_codesniffer使用的默認編碼標準是梨編碼標準。要根據梨編碼標準檢查文件,只需指定文件的位置:
phpcs/path/to/code/myfile.php
或者,如果您想檢查整個目錄,則可以指定目錄位置而不是文件。
phpcs/path/to/code-directory
如果您想根據PSR-12編碼標準檢查代碼,請使用--standard
命令行參數:
phpcs - 標準= psr12/path/to/code-directory
如果php_codesniffer找到任何編碼標準錯誤,則在運行命令後將顯示報告。
完整的用法信息和示例報告可在“使用”頁面上找到。
PHP_CodesNiffer的文檔可在GitHub Wiki上找到。
錯誤報告和功能請求可以在GitHub Disears Tracker上提交。
有關信息,請參見貢獻。
php_codesniffer使用MAJOR.MINOR.PATCH
版本編號格式。
MAJOR
:
向後不兼容的更改是對phpcs
或phpcbf
命令的使用方式進行的,或
向後不兼容的更改是針對ruleset.xml
格式或
向後不兼容的更改是針對嗅探開發人員使用的API,或
自定義php_codesniffer令牌類型已刪除,或
現有的嗅覺完全從php_codesniffer中刪除
MINOR
版本會增加:
新的向後兼容的功能添加到phpcs
和phpcbf
命令中,或
向後兼容的更改是針對ruleset.xml
格式或
向後兼容的更改是針對嗅探開發人員使用的API,或
新的嗅覺被添加到包含的標准或
現有的嗅覺從隨附的標準中刪除
注意:嗅探開發人員使用的API的向後兼容更改將使現有的嗅探能夠繼續運行而不會產生致命錯誤,但可能不會導致嗅探報告與以前相同的錯誤而無需更改。
PATCH
:
向後兼容的錯誤修復了
注意:由於存在php_codesniffer用於報告和修復問題,因此大多數錯誤是編碼標準錯誤錯誤報告或編碼標準錯誤時未報告的標準錯誤的結果。這意味著Php_codesniffer產生的消息及其所做的修復程序可能在補丁版本之間可能有所不同。