摘要:它包含兩類腳本,和地址腳本對文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯可設(shè)置報錯等級。腳本能自動修正代碼格式上不符合規(guī)范的部分。
Last-Modified: 2019年5月10日13:59:27
參考鏈接PHP開發(fā)規(guī)范之使用phpcbf腳本自動修正代碼格式
在PhpStorm中使用PSR2編碼規(guī)范phpcbf腳本自動修正代碼格式
使用 PHP-CS-Fixer 的可以看這篇文章: https://learnku.com/laravel/t...
介紹PHP_CodeSniffer 是一個代碼風(fēng)格檢測工具。它包含兩類腳本,phpcs 和 phpcbf(GitHub地址)
phpcs
phpcs 腳本對 PHP、JavaScript、CSS 文件定義了一系列的代碼規(guī)范(通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如 PHP 的 PSR2),能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯(可設(shè)置報錯等級)。
phpcbf
phpcbf 腳本能自動修正代碼格式上不符合規(guī)范的部分。比如 PSR2 規(guī)范中對每一個 PHP 文件的結(jié)尾都需要有一行空行,那么運(yùn)行這個腳本后就能自動在結(jié)尾處加上一行空行。
php-cs-fixer安裝該工具不包含在 PHP_CodeSniffer 中, 是在另一個獨(dú)立的項(xiàng)目 https://github.com/FriendsOfP...
php-cs-fixer 修復(fù)不規(guī)范代碼 作用等同于 phpcbf 只不過規(guī)則好像稍有區(qū)別
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
將 phpcs 和 phpcbf 的目錄加入環(huán)境變量
設(shè)置默認(rèn)代碼標(biāo)準(zhǔn)
為了避免每次手動指定標(biāo)準(zhǔn), 直接設(shè)置默認(rèn)的代碼標(biāo)準(zhǔn)為 PSR-2
phpcs --config-set default_standard PSR2 phpcbf --config-set default_standard PSR2
檢測代碼文件
phpcs test.php
此時命令行會提示發(fā)現(xiàn)的問題列表, 帶 [x] 的表示可以被 phpcbf 修正
若需要每次執(zhí)行時指定代碼格式標(biāo)準(zhǔn), 則加上 –standard=
phpcs --standard=PSR2 test.php
修正代碼
phpcbf test.php
此時會修正問題列表中帶 [x] 的問題
PHPStorm 讓編輯器使用PSR-2標(biāo)準(zhǔn)1、打開PhpStorm的設(shè)置頁(File->Setting),到Editor->Code Style->PHP頁PHP中選擇風(fēng)格為 PSR1/2
2、到Code Sniffer頁,路徑是Setting->Languages and Frameworks->PHP->Quality Tools->Code Sniffer,設(shè)置phpcs的路徑
Composer全局的vendor目錄inphpcs.bat
3、到Inspections頁,路徑Setting->Editor->Inspections,右側(cè)的 PHP,勾選下面的兩個 PHP,選擇使用 PSR2
現(xiàn)在使用PhpStorm的格式化,將會自動格式化成psr-2的風(fēng)格
經(jīng)過上面的操作,PhpStorm代碼格式化的規(guī)則基本與phpcs的規(guī)則基本一致了,但也有一小部分不一致,所以后面還要用到phpcs和phpcbf
如果每次都在終端去執(zhí)行花費(fèi)時間可不少,為了提高工作效率,可以在PhpStorm集成phpcbf、phpcs檢測規(guī)范的功能
設(shè)置路徑:Tools -> External Tools
集成phpcbfProgram是你的PHP根目錄下的文件,windows是.bat文件
Arguments是--standard=PSR2 $FileDir$/$FileName$,記得指定代碼標(biāo)準(zhǔn)
Working directory是$ProjectFileDir$,也可以直接填
下面的Open console for tool output是指打印檢測的信息到控制臺上,phpcs檢測的我們要看,phpcbf就不用了,所以不用勾選
怎么使用呢?
工具欄的Tools->External Tools就可以看到我們剛才添加的兩個小工具,直接點(diǎn)擊就可以用了
點(diǎn)擊操作很麻煩, 那就加一個快捷鍵吧:
在 Settings -> Keymap -> External Tools -> phpcbf 中進(jìn)行添加快捷鍵操作
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/31415.html
摘要:腳本對文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯可設(shè)置報錯等級。比如規(guī)范中對每一個文件的結(jié)尾都需要有一行空行,那么運(yùn)行這個腳本后就能自動在結(jié)尾處加上一行空行。 showImg(https://segmentfault.com/img/remote/1460000011338137); 有些同學(xué)可能還沒聽過這東西,大概介紹...
摘要:背景在公司開發(fā)的時候,每次不管還是提交代碼的時候都會對代碼進(jìn)行簡單的自動檢測。并且明確告知文檔不可能的。猜想應(yīng)該自動代碼檢測肯定是集成在工程代碼所在的服務(wù)端是最好的。寫在最后通過了解代碼的自動檢測,發(fā)現(xiàn)了很多問題。 背景 在公司開發(fā)的時候,每次不管svn還是git提交代碼的時候都會對代碼進(jìn)行簡單的自動檢測。檢查不了代碼邏輯,但是最起碼能保證整體的編碼格式保持一致。這個功能還是挺有用的,...
摘要:標(biāo)準(zhǔn)規(guī)范簡介是的簡寫,由組織制定的規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。具體標(biāo)準(zhǔn)有有了統(tǒng)一編碼風(fēng)格規(guī)范,更有利于查看和學(xué)習(xí)各個框架或類庫,不不需要每次都適應(yīng)新的編碼風(fēng)格。同時在開發(fā)團(tuán)隊(duì)內(nèi)部使用統(tǒng)一的編碼規(guī)范更有利于代碼審查版本控制團(tuán)隊(duì)內(nèi)部交流。 PHP 標(biāo)準(zhǔn)規(guī)范 PSR PSR 簡介 PSR 是 PHP Standard Recommendations 的簡寫,由 PHP FIG 組織制定的 PHP...
摘要:使用進(jìn)行代碼規(guī)范化管理是一個優(yōu)秀的代碼風(fēng)格檢測工具定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯可設(shè)置報錯等級常被用作團(tuán)隊(duì)開發(fā)時維護(hù)編碼風(fēng)格以及標(biāo)準(zhǔn)。 PHPStorm IDE使用CodeSniffer進(jìn)行代碼規(guī)范化管理 PHP_CodeSniffer是一個優(yōu)秀的代碼風(fēng)格檢測工具,定義了一系列的代碼規(guī)范(通常使用官方的代碼規(guī)范標(biāo)準(zhǔn)...
摘要:的編碼規(guī)范雖然沒有像那樣集中,有這樣的統(tǒng)一標(biāo)準(zhǔn)見我的這篇文章,但也是有規(guī)律可循的。最簡單的莫過于直接使用,但是真的實(shí)在太弱了,所以目前業(yè)界比較流行的是使用,簡稱。在代碼規(guī)范方面,沒有所謂的個人喜好,而只有項(xiàng)目規(guī)范。所以目前以及都開始遵循。 php的編碼規(guī)范雖然沒有像javascript那樣集中,有eslint這樣的統(tǒng)一標(biāo)準(zhǔn)(見我的這篇文章),但也是有規(guī)律可循的。最簡單的莫過于直接使用p...
閱讀 1357·2023-04-25 19:10
閱讀 1205·2021-09-10 10:50
閱讀 3085·2021-09-02 15:21
閱讀 1446·2019-08-30 15:52
閱讀 1739·2019-08-30 13:56
閱讀 2180·2019-08-30 12:53
閱讀 1935·2019-08-28 18:22
閱讀 2188·2019-08-26 13:47