成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP代碼修正之CodeSniffer

khs1994 / 2171人閱讀

摘要:它包含兩類腳本,和地址腳本對(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è)工具。它包含兩類腳本,phpcsphpcbf(GitHub地址)

phpcs

phpcs 腳本對(duì) PHP、JavaScript、CSS 文件定義了一系列的代碼規(guī)范(通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如 PHPPSR2),能夠檢測(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
使用 命令行模式

phpcsphpcbf 的目錄加入環(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ī)則基本一致了,但也有一小部分不一致,所以后面還要用到phpcsphpcbf

如果每次都在終端去執(zhí)行花費(fèi)時(shí)間可不少,為了提高工作效率,可以在PhpStorm集成phpcbf、phpcs檢測(cè)規(guī)范的功能

設(shè)置路徑:Tools -> External Tools

集成phpcbf

Program是你的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

相關(guān)文章

  • PHP 系列:代碼規(guī)范 Code Sniffer

    摘要:腳本對(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ò)這東西,大概介紹...

    0xE7A38A 評(píng)論0 收藏0
  • PHP代碼自動(dòng)檢測(cè)(git/svn集成PHP_CodeSniffer

    摘要:背景在公司開(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è)功能還是挺有用的,...

    CoderDock 評(píng)論0 收藏0
  • PHP 標(biāo)準(zhǔn)規(guī)范

    摘要:標(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...

    FuisonDesign 評(píng)論0 收藏0
  • PHP工具篇:PHPStorm IDE使用CodeSniffer代碼規(guī)范化管理

    摘要:使用進(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)...

    Jonathan Shieber 評(píng)論0 收藏0
  • atom和phpcs

    摘要:的編碼規(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...

    CntChen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<