iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
Modern Web

Laravel 9 漫遊,享受魔法般的極速網頁開發體驗系列 第 27

Day 27:協助確認並修正 coding style:Laravel Pint

  • 分享至 

  • xImage
  •  

在專案開發時,我們透過了自動化測試,幫我們確認專案的功能正確。甚至在之前,我們還介紹了 Laravel Dusk 這個套件,可以用來協助我們進行 Browser Automation Test,實際用瀏覽器運作網頁,看看效果是不是如我們預期。

不過,專案開發除了功能正確以外,還有可讀性要高,才能比較好維護的這個面向。

今天,我們就來介紹一下 Laravel 幫我們確認 code style 的套件:Laravel Pint!

首先,是安裝套件,我們一樣只安裝在開發階段

./vendor/bin/sail composer require laravel/pint --dev

Laravel Pint 安裝好了之後,就可以直接執行了

./vendor/bin/pint

執行後會看到類似以下的報告

...✓....................✓.............✓✓.................✓....................✓.

  ────────────────────────────────────────────────────────────────────────────────────────────────────── Laravel  
    FIXED   ..................................................................... 80 files, 6 style issues fixed  
  ✓ app/Http/Controllers/InspireController.php                          braces, Laravel/laravel_phpdoc_alignment  
  ✓ app/Jobs/ProcessPodcast.php                                                                no_unused_imports  
  ✓ app/Mail/OrderShipped.php                                                                  no_unused_imports  
  ✓ app/Services/InspireService.php                                                  blank_line_before_statement  
  ✓ routes/web.php                                  braces, curly_braces_position, single_quote, ordered_imports  
  ✓ tests/Unit/InspireControllerTest.php                          braces, curly_braces_position, ordered_imports  

Laravel Pint 不僅僅列出所有的問題,並且還一起整理好了!

重新執行時會看到

 ................................................................................

  ────────────────────────────────────────────────────────────────────────────────────────────────────── Laravel  
    PASS   ............................................................................................ 80 files 

如果你不希望 Laravel Pint 自動修正問題,可以加上 --test 參數

./vendor/bin/pint --test

如果你希望使用特定的規則檢查,比方說 psr12,可以用 --preset 指定

./vendor/bin/pint --preset psr12

雖然理想上,專案內的所有程式碼,都應該要能通過檢查。不過有時候還是會有檔案暫時無法通過。這時候我們可能會希望能忽略這些檔案。

這時,我們可以透過撰寫 pint.json 來對專案進行設置

首先,我們在專案資料夾內建立 pint.json

{
    "preset": "psr12"
}

這邊指定了我們的規則是 psr12

接著,我們可以利用 notPath,設置某個檔案要略過檢查

    "notPath": [
        "path/to/excluded-file.php"
    ]

也可以利用 notName,設置該名稱的檔案都略過檢查。這邊可以使用樣式

    "notName": [
        "*Test.php"
    ]

如果希望直接略過某資料夾,可以用 exclude

    "exclude": [
        "my-specific/folder"
    ]

利用 Laravel Pint,我們就可以快速的保證專案的 code style 一致,並且在不一致時快速的修正了!是不是很方便呢

今天有關 Laravel Pint 這個套件,就介紹到這邊,各位明天見!


上一篇
Day 26:協助開發中除錯的好幫手:Laravel Telescope
下一篇
Day 28:用Laravel 處理全文搜索:Laravel Scout
系列文
Laravel 9 漫遊,享受魔法般的極速網頁開發體驗30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言