PHP代碼修正之CodeSniffer

Last-Modified: 2019年5月10日13:59:27php

參考連接

使用 PHP-CS-Fixer 的能夠看這篇文章: https://learnku.com/laravel/t...html

介紹

PHP_CodeSniffer 是一個代碼風格檢測工具。它包含兩類腳本,phpcsphpcbfGitHub地址laravel

phpcsgit

phpcs 腳本對 PHPJavaScriptCSS 文件定義了一系列的代碼規範(一般使用官方的代碼規範標準,好比 PHPPSR2),可以檢測出不符合代碼規範的代碼併發出警告或報錯(可設置報錯等級)。github

phpcbfwindows

phpcbf 腳本能自動修正代碼格式上不符合規範的部分。好比 PSR2 規範中對每個 PHP 文件的結尾都須要有一行空行,那麼運行這個腳本後就能自動在結尾處加上一行空行。併發

php-cs-fixer

該工具不包含在 PHP_CodeSniffer 中, 是在另外一個獨立的項目 https://github.com/FriendsOfP...composer

php-cs-fixer 修復不規範代碼 做用等同於 phpcbf 只不過規則好像稍有區別編輯器

安裝

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

使用

命令行模式

  1. phpcsphpcbf 的目錄加入環境變量
  2. 設置默認代碼標準

    爲了不每次手動指定標準, 直接設置默認的代碼標準爲 PSR-2

    phpcs --config-set default_standard PSR2
    phpcbf --config-set default_standard PSR2
  3. 檢測代碼文件

    phpcs test.php

    此時命令行會提示發現的問題列表, 帶 [x] 的表示能夠被 phpcbf 修正

    若須要每次執行時指定代碼格式標準, 則加上 –standard=<standard>

    phpcs --standard=PSR2 test.php
  4. 修正代碼

    phpcbf test.php

    此時會修正問題列表中帶 [x] 的問題

PHPStorm

讓編輯器使用PSR-2標準

一、打開PhpStorm的設置頁(File->Setting),到Editor->Code Style->PHPPHP中選擇風格爲 PSR1/2

clipboard.png

二、到Code Sniffer頁,路徑是Setting->Languages and Frameworks->PHP->Quality Tools->Code Sniffer,設置phpcs的路徑

Composer全局的vendor目錄\bin\phpcs.bat

clipboard.png

三、到Inspections頁,路徑Setting->Editor->Inspections,右側的 PHP,勾選下面的兩個 PHP,選擇使用 PSR2

clipboard.png

如今使用PhpStorm的格式化,將會自動格式化成psr-2的風格

通過上面的操做,PhpStorm代碼格式化的規則基本與phpcs的規則基本一致了,但也有一小部分不一致,因此後面還要用到phpcsphpcbf

若是每次都在終端去執行花費時間可很多,爲了提升工做效率,能夠在PhpStorm集成phpcbf、phpcs檢測規範的功能

設置路徑:Tools -> External Tools

集成phpcbf

clipboard.png

  • Program是你的PHP根目錄下的文件,windows是.bat文件
  • Arguments--standard=PSR2 $FileDir$/$FileName$,記得指定代碼標準
  • Working directory$ProjectFileDir$,也能夠直接填

下面的Open console for tool output是指打印檢測的信息到控制檯上,phpcs檢測的咱們要看,phpcbf就不用了,因此不用勾選

怎麼使用呢?

工具欄的Tools->External Tools就能夠看到咱們剛纔添加的兩個小工具,直接點擊就能夠用了

點擊操做很麻煩, 那就加一個快捷鍵吧:

Settings -> Keymap -> External Tools -> phpcbf 中進行添加快捷鍵操做

相關文章
相關標籤/搜索