.env 檔案
最后更新于:2022-04-01 23:11:17
# .env 檔案
### Laravel 4 .env 檔案
在 Laravel 4 的時候,我們通常會在 `/bootstrap/start.php` 中,去設定我們的 `hostname` 是屬於哪一種開發環境,再針對不同的開發環境有不同的設定檔(`.env.*.php`)
~~~
detectEnvironment(array(
'local' => array(
'KeJyun-Macbook'
),
'dev' => [],
'testing' => [],
'staging' => [],
));
~~~
`.env.*.php` 設定檔通常放在根目錄下,這些檔案不會在版本控制當中
~~~
app/
bootstrap/
public/
vendor/
.env.php
.env.local.php
.env.dev.php
.env.testing.php
.env.staging.php
~~~
在 Laravel 4 .env 設定檔案長的會像是這樣:
~~~
'root',
'DB_PASSWORD' => 'password',
];
~~~
我們的 `config` 檔案就可以使用 `$_ENV` 去讀取當前環境的設定檔資料
~~~
env('APP_DEBUG', false),
]
// config/database.php
[
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
]
~~~
`env()` 中第一個參數是 `.env` 檔案中的設定鍵值名稱,第二個參數是預設值,若讀取不到環境設定鍵值則會使用預設值
這樣在每個人的開發環境只要去管理自己的 `.env` 檔案就好,不需要像 Laravel 4 需要在 config 資料夾中建立各種環境變數設定的資料夾,像是 `config/local/database.php` 或 `config/stage/database.php`。
### 參考資料
- [Environments and Configuration - Laravel 5 Fundamentals](https://laracasts.com/series/laravel-5-fundamentals/episodes/6)
';