如何使用 PhpStorm 的 Project Template 建立 Laravel 專案?
PhpStorm 2016.2 提供一個新功能,可以將專案打包成 project template,以後新建專案時,可以選擇此 template 直接重建專案,如常用的 package 與 codebase 可以先打包好,將來要建立新專案就很方便。
Motivation
我在寫部落格範例時,有些東西是必要的,如 IDE Helper,SQLite 環境,PHPUnit 單元測試環境,以前每次寫一個範例,就得重新安裝這些 package 與 codebase,很花時間,有了 project template之後,只要設定一次即可,以後部落格範例都可以套用此 project template,非常方便。
Version
PHP 7.0.8
Laravel 5.2.41
PhpStorm 2016.2
建立 Project Template
Tools ->Save Project as Template
任何你目前的 Laravel 專案,都可以存成 project template。
輸入 project template 名稱,不必與原來 project 名稱相同,只要你方便識別即可。
建立新 Project
選擇 Create New Project
。
選擇 User-defined
的 Laravel52Blog
,這是我們剛剛所建立的 project template。
在 Location
輸入你的專案路徑。
重建 Vendor 目錄
如同從 GitHub 下載的 Laravel 專案一樣,vendor
目錄下是空的,你有兩種方法重建 vendor
目錄。
- composer install : 根據
composer.lock
重建vendor
目錄,所有 package 版本會與原 project template 完全一樣。 - composer update : 根據
composer.json
重建vendor
目錄,所有 package 版本會升級成與原 project template 相容的版本。
兩種方式都可以,端看你的需求而定,我的需求是想升級到 Laravel 最新的版本,所以下 composer update
。
composer update
執行完後,vendor
目錄已經補齊。
設定 Excluded Folders
PhpStorm -> Preferences -> Directories
若你有設定 Excluded Folders
,將所有目錄刪除。1 1若你由 PhpStorm 幫你建立 Laravel 專案,他會幫你設定 Excluded Folders
,若自己由 Composer 建立 Laravel 專案,則不會有此設定。
刪除完後,只留下 Tests
、Sources
與 Resource Root
三個目錄設定。
設定 PHP 7
PhpStorm -> Preferences -> Languages & Frameworks -> PHP
- PHP language level : 設定為
7
。 - Interpreter : 設定 PHP 7 interpreter 位置。
設定 PHPUnit
PhpStorm -> Preferences -> Languages & Frameworks -> PHP -> PHPUnit
- Use Composer autoloader : 選擇專案目錄下的
vendor/autoload.php
。 - Default configuration file : 選擇專案根目錄下的
phpunit.xml
。
單元測試
確認專案已經可以正常執行。
Conclusion
- Project template 並不包含原專案的 git repository,也就是你必須重新建立一個新的 git local repository。
- 透過這種方式,建立新專案時將更為方便,直接套用你常用的 package 與 codebase。
Sample Code
完整的範例可以在我的 GitHub 上找到。