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