PHP COdeSniffer 包含了兩個 PHP script
- phpcs(PHP Code Sniffer),可以檢查程式碼風格
- phpcbf (PHP COde Beautifier and Fixer),自動修正程式碼風格
在 VS Code 會使用下面這個擴充
- php-cs-fixer ,自動修正程式碼風格
安裝
使用 composer 全域安裝
composer global require "squizlabs/php_codesniffer=*"
另外,安裝 php-cs-fixer
composer global require friendsofphp/php-cs-fixer
將composer 加到 $PATH
export PATH=~/.composer/vendor/bin:$PATH
檢查版本
檢查版本,確定安裝成功
phpcs --version
phpcbf --version
設定預設檢查標準
將預設檢查的標準設定為 PSR-12
phpcs --config-set default_standard PSR12
可以透過下面方式檢查設定
phpcs --config-show
PEAR
基本用法
建構一個檔案 myfile.php
<?php
class myfile {
protected $exam;
protected $results;
function __construct($exam = 59, $result = false) {
if ($this->exam < 59) {
$this->results = false;
}else{
$this->results = true;
}
}
}
phpcs 檢查錯誤
phpcs myfile.php
phpcbf 修正錯誤
phpcbf myfile.php
也可以透過 –suffix 可以將修正檔案獨立出來成為另一個副檔名,例如 .fixed 而不會影響到現有檔案
phpcbf --suffix=.fixed myfile.php
VS Code 擴充
在 VS Code 安裝以下兩個擴充
phpcs https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs
php cs fixer https://marketplace.visualstudio.com/items?itemName=junstyle.php-cs-fixer
另外推薦安裝
PHP DocBlocker - 方便增加 DocBlock tags https://marketplace.visualstudio.com/items?itemName=neilbrayfield.php-docblocker
專案
在專案安裝
composer require --dev squizlabs/php_codesniffer
接著就能在程式碼自動看到提示
接著按右鍵,可以看到 Format Document
修改 PHPCS 預設 Commend
VS Code 安裝的phpcs 預設套用的是 PEAR
在一開始的 doc comment 預設至少要依序填寫 category, package, author, license, link 這五項
例如
<?php
/**
* 功能標題
*
* PHP version 7.2
*
* @category PHP
* @package PHP_COdeSniffer
* @author Adam <adam.ouyang@language-center.com.tw>
* @license https://www.language-center.com.tw/ Licence
* @link https://www.language-center.com.tw/
*/
namespace App\Http\Controllers;
在 class 則同樣預設至少要依序填寫 category, package, author, license, link 這五項
<?php
...
/**
* 類別標題
*
* @category PHP
* @package PHP_COdeSniffer
* @author Adam <adam.ouyang@language-center.com.tw>
* @license https://www.language-center.com.tw/ Licence
* @link https://www.language-center.com.tw/
*/
class MyController extends Controller
{
要修改設定值為 PSR12 即可
shift + command + P 輸入
>Workspace Settings
點選左上角 … 選擇 Open Setting.json 在 workspace 設定
{
"phpcs.standard": "psr2"
}
執行
phpcs app
如果要手動指定規則,可以用以下方式
phpcs --standard=psr12 app
or
./vendor/bin/phpcs --standard=psr12 app