設定 Configuration - daniel-qa/Laradock GitHub Wiki
#
設定 Configuration- 應用程式設定
.env 檔
config/ 資料夾
env 檔
.env 是一個常見的 environment variable 設定方式,藉由一個獨立的檔案避免每次都需要重新設定環境變數。
.env 僅能使用 KEY=VALUE 格式,且都需要是字串型式。如果 Value 字串中有包含空白,可以用 "" 將其包括起來。
.利用 env() 這個函式去擷取 environment variable 的值
'name' => env('APP_NAME', 'Laravel'),
- 取得 config 的值
在 Laravel 應用程式中,可以利用 config() 取得設定檔中的值。
<?php
config('app.name', 'Laravel');
config() 的第一個參數表示設定值,第二個參數表示若設定值不存在的預設值。
第一個參數的規則比較複雜一些:以 . 為分隔,第一個 . 之前表示 config/ 下的檔案名稱,第二個之後表示陣列的 Key,如果是多維陣列還可以再往下指定 Key。
<?php
// config/app.php
return [
'settings' => [
'foo' => true,
'bar' => [
'baz' => false,
],
],
];
config('app.settings.foo'); // true
config('app.settings.bar.baz'); // false
config('app.settings.miss'); // NULL
config('app.settings.miss', 'default'); // default
外部服務連接
Laravel 所有的設定都位於 config/ 資料夾下,建議先尋找要設定的值位於 config/ 的何處。例如要連接資料庫,設定位於 config/database.php。
<?php
// config/database.php
return [
'default' => 'mysql',
'connections' => [
// ...
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'artiv'),
'username' => env('DB_USERNAME', 'artiv'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
// ...
],
];
從這邊可以看到在 .env 中要如何設定,參考此數的 Key 再到 .env 中設定值即可。