如何修改 PhpStorm 預設的 Class Template?
當使用 PhpStorm 建立 class 時,預設會產生 Created by PhpStorm
的註解,並包含作者、日期、時間等資訊,有的人喜歡,有的人不喜歡,若你不希望每次建立 class 時都有這個檔頭,可以自行修改;除此之外,在 PHP 7 為了讓強行別檢查發揮作用,我們會在一開始 declare(strict_types = 1);
,這也可以直接設定在 class template,以後只要建立新的 class,都會自動加上宣告。
Motivation
預設在 PhpStorm 建立 class 時,都會在檔頭加上 Created by PhpStorm
的註解,很多人建立 class 後的第一件事情,就是去刪除這些註解,事實上我們可以透過修改 PhpStorm 的 class template,移除這些設定。
Version
PHP 7.0.8
PhpStorm 2016.2.1
移除註解
PhpStorm -> Preferences -> Editor -> File and Code Templates -> PHP Class
我們發現每個 class template 都有 #parse("PHP File Header.php")
。
PhpStorm -> Preferences -> Editor -> File and Code Templates -> includes -> PHP File Header
切換到 includes
的 PHP File Header
,我們可以看到預設的註解就是在此,若你不喜歡這些註解,可以全部刪除後存檔。
宣告 Strict Type
PHP 7 增加了 scalar type hint 與 return type,不過為了相容於過去 PHP 弱型別傳統,預設並沒有啟動型別檢查,必須自己加上 declare(strict_types = 1)
之後,PHP 與 PhpStorm 的 Code Inspection 才會根據 type hint 與 return type 檢查型別。1 1關於 PhpStorm 的 Code Inspection,詳細請參考如何在 PhpStorm 使用 Code Inspection?
目前 PHP 7 並沒有提供全域的 php.ini
設定,必須自己在每個 .php
加上設定,很麻煩也容易忘記,若能設定在 class template 內,則以後新增 class 都會有 declare(strict_types = 1)
。
PhpStorm -> Preferences -> Editor -> File and Code Templates -> includes -> PHP File Header
刪除預設註解後,改加上 declare(strict_types = 1)
。
以後新增 class,預設註解不見了,且自動加上 declare(strict_types = 1)
。
Conclusion
- 除了移除預設註解與宣告
strict types
外,如一些需靠Laravel artisan
建立的 controller、unit test …,事實上也可以新增一個 template,直接使用 PhpStorm 來新增。
Reference
PhpStorm Online Help, File and Code Templates