:::
2-3 設定專案環境
一、從config/app.php設定專案
- 「檔案→開啟資料夾」,選擇您的專案目錄
- Laravel 專案所用的所有設定檔案都被存放在
config目錄下 storage目錄下的所有目錄和bootstrap/cache目錄需有寫入權限。- 開啟
/專案/config/app.php。如果VS Code已經在專案目錄下,可以直接在終端機用code命令,快速利用VS Code開啟檔案,例如:code config/app.php - 設定
timezone和locale:'timezone' => 'Asia/Taipei', 'locale' => 'zh-TW', 'fallback_locale' => 'zh-TW', - 若設定項目中有看到
env('xxx', 'ooo')的,代表可以直接到.env檔設定即可,會以 .env 的設定值優先。後面的ooo一般並不會生效,除非中.env沒有xxx的設定項目,此時ooo才會有作用。 - 舉例來說
'name' => env('APP_NAME', '線上測驗系統')並不會真的有作用,因為會去找.env裡面的APP_NAME=Laravel設定,所以,屆時呈現的仍是Laravel而非線上測驗系統,除非去把.env裡面的APP_NAME設定刪除,那才會顯示成線上測驗系統。 - 如果要取得某個設定值,可以用這樣的方式:
$timezone = config('app.timezone'); - 如果是要在程式運行中,修改某個設定值,可以這樣用:
config(['app.name' => '我的第一個專案']);
二、用.env設定環境
- 同一套程式,可能會用到不同環境:開發環境、測試環境、正式營運環境,不同環境有不同設定,所以,我們可以根據每個伺服器環境修改
.env設定(不支援中文),尤其是資料庫部份一定要修改,請開啟/專案/.envAPP_NAME=Exam //寄信設定(請填入mailtrap的設定資訊) MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=5f51684abd9780 MAIL_PASSWORD=9dc25ae9e2b955 MAIL_ENCRYPTION=tls - 其中可以用中文
APP_NAME=線上測驗系統 - 若值裡頭有空白,需用引號包起來,例如:
APP_NAME="Laravel Exam" - 如果想要和Homestead共用,那資料庫帳號密碼就按照預設值來設定即可,因此,我們到phpMyAdmin來建立一個新的使用者,帳號為:
homestead,密碼為secret,並建立一個同名資料庫即可。

- 自動建立的資料庫,最怕預設編碼錯誤,所以,我們點擊資料庫,並按「操作」修改之(或直接執行:http://localhost/phpmyadmin/db_operations.php?db=homestead),校對部份請選擇「
utf8_unicode_ci」或「utf8_general_ci」即可。

.env不會被送上 git,所以,環境可以使用自己的.env設定- 若想查詢目前使用的是哪個環境,可以按Ctrl+`呼叫出終端機,並利用tinker,以互動的方式來執行一些Laravel程式,如:
php artisan tinker - 接著輸入以下語法,即可按出目前用的環境設定為何:
App::environment(); -
看起來像這樣:

-
App::environment()是印出目前的使用環境,若有傳參數進去,那就會判斷是否為該值,例如:if (App::environment('local')) { // 判斷環境是否為 local } if (App::environment(['local', 'staging'])) { // 判斷環境是否為 local 或 staging } .env檔案中列出的所有變數將被加載到 PHP 的超級全局變數$ _ENV中- 至此,可以在瀏覽器輸入http://localhost/exam56/public/連線到專案系統試試
三、更新至GitHub
- 按左邊第三個按鈕,輸入修改說明,按打勾送出,然後按三個...,選擇「同步處理」,並依照畫面提示依序輸入GitHub帳號及密碼即可同步至GitHub
- 若不想每次都輸入帳號密碼,可以按Ctrl+`,在終端機輸入以下指令,可以全局儲存帳號。
git config --global credential.helper wincred
2-2 將專案放上GitHub
