php-cs-fixer – PHP 編碼格式化工具
php-cs-fixer 是個(gè)代碼格式化工具,格式化的標(biāo)準(zhǔn)是 PSR-1、PSR-2 以及一些 symfony 的標(biāo)準(zhǔn)。這個(gè)工具也和 symfony、twig 等優(yōu)秀的 PHP 庫(kù)出自同門。
安裝與更新
需要使用 PHP 5.3.6 以上的版本。
你可以直接下載封裝好的 phar 包:php-cs-fixer.phar;
或者通過(guò) wget 下載(下面的都是 OSX 和 Linux 上的用法):
wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer
或者通過(guò) curl 下載:
curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer
下載完成后給可執(zhí)行的權(quán)限,然后移動(dòng)到 bin 目錄下面即可:
sudo chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
這樣就可以在任何地方直接使用 php-cs-fixer
命令來(lái)調(diào)用了。
也可以用過(guò) Composer 來(lái)安裝:
composer global require fabpot/php-cs-fixer
如果你是 Mac 用戶、homebrew 用戶并且已經(jīng) tap 過(guò) homebrew/php 的話,也可以直接:
brew install php-cs-fixer
或者:
brew install homebrew/php/php-cs-fixer
如果后續(xù)需要更新的話:
php-cs-fixer self-update
如果是通過(guò) homebrew 安裝的:
brew upgrade php-cs-fixer
如果沒(méi)有將執(zhí)行文件放到 bin 目錄下或者在 Windows需要使用 php php-cs-fixer.phar
代替 php-cs-fixer
。
用法
用法也很簡(jiǎn)單,最基本的命令參數(shù)就是 fix
,直接執(zhí)行時(shí)會(huì)盡可能多的根據(jù)默認(rèn)標(biāo)準(zhǔn)格式化代碼:
# 格式化目錄 如果是當(dāng)前目錄的話可以省略目錄 php-cs-fixer fix /path/to/dir # 格式化文件 php-cs-fixer.phar fix /path/to/file
--verbose
選項(xiàng)用于展示應(yīng)用了的規(guī)則,默認(rèn)是文本(txt
)格式。
--level
選項(xiàng)用于控制需要使用的規(guī)則層級(jí):
php-cs-fixer fix /path/to/project --level=psr0 php-cs-fixer fix /path/to/project --level=psr1 php-cs-fixer fix /path/to/project --level=psr2 php-cs-fixer fix /path/to/project --level=symfony
默認(rèn)情況下執(zhí)行的是 PSR-2 的所有選項(xiàng)以及一些附加選項(xiàng)(主要是 symfony 相關(guān)的)。還有一些屬于『貢獻(xiàn)級(jí)別』的選項(xiàng),你可以通過(guò) --fixers
選擇性的添加,--fixers
的多個(gè)條件要用逗號(hào)分開(kāi):
php-cs-fixer fix /path/to/dir --fixers=linefeed,short_tag,indentation
如果有需要的話也可以使用 -name_of_fixer
采取黑名單的方式設(shè)定禁用哪些選項(xiàng)。如果同時(shí)設(shè)定了 --fixers
和 -name_of_fixer
,前者的優(yōu)先級(jí)更高。
同時(shí)使用 --dry-run
和 --diff
命令可以顯示出需要修改的匯總,但是并不實(shí)際修改。
通過(guò)以下方式也可以查看有哪些內(nèi)容是會(huì)修改的,但是并不實(shí)際改動(dòng)文件:
cat foo.php | php-cs-fixer fix --diff -
自定義配置
--config
選項(xiàng)可以用來(lái)設(shè)置選取目錄以及文件進(jìn)行分析并格式化,但是這個(gè)選項(xiàng)只能設(shè)置一些常見(jiàn)的已知的項(xiàng)目,比如 symfony:
# For the Symfony 2.3+ branch php-cs-fixer fix /path/to/sf23 --config=sf23
已有選項(xiàng):
-
default 默認(rèn)配置
-
magento magento 項(xiàng)目
-
sf23 symfony 的項(xiàng)目
相關(guān)推薦
- RAKsmart防護(hù)配置實(shí)戰(zhàn):10Gbps套餐部署指南
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑
- raksmart法蘭克福云服務(wù)器延遲高嗎?
- 自媒體人搭建直播服務(wù)器使用raksmart優(yōu)化技巧
- 華納云高防服務(wù)器3.6折起低至1188元/月,企業(yè)級(jí)真實(shí)防御20G`T級(jí),自營(yíng)機(jī)房一手服務(wù)器資源
- 服務(wù)器的系統(tǒng)和普通電腦系統(tǒng)一樣嗎?
- 從入門到精通,一文搞懂vps云服務(wù)器配置怎么選擇!
- DeepSeek企業(yè)級(jí)部署RakSmart裸機(jī)云環(huán)境準(zhǔn)備指南