2-4
設定專案環境
一、從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
設定,尤其是資料庫部份一定要修改,請開啟 /專案/.env
APP_NAME=我的商店
略
APP_URL=http://myshop.test
略
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myshop
DB_USERNAME=root
DB_PASSWORD=資料庫密碼
略
//寄信設定(請填入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="My Shop"
.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
}
- 要離開tinker可以直接輸入
exit
即可
.env
檔案中列出的所有變數將被加載到 PHP 的超級全局變數 $ _ENV
中
- 至此,可以在瀏覽器輸入myshop.test連線到專案系統試試
三、更新至GitHub
- 按左邊第三個按鈕,輸入修改說明,按打勾送出,然後按三個...,選擇「同步處理」,並依照畫面提示依序輸入GitHub帳號及密碼即可同步至GitHub
- 若不想每次都輸入帳號密碼,可以按Ctrl+`,在終端機輸入以下指令,可以全局儲存帳號。
git config --global credential.helper wincred