HOME>WEBプログラム覚書>[Laravel]config/* ファイルと.env、config()
[Laravel]config/* ファイルと.env、config()
Laravelのconfig/と.envについてよくわかんなかったので。
config/ 以下のファイルはenv()関数を使って.envの内容を読み込んでいる。
.envは環境ごとに設定内容が異なるのでアプリケーションではconfig()関数を使って
config/の内容を読み込むのがよい。
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
config/database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
// 省略
],
って設定の場合、
var_dump(env('DB_DATABASE'));//string(7) "laravel"
var_dump(config('database')['connections']['mysql']['database']);// string(7) "laravel"
となる。
の場合、空で設定される。
var_dump(env('DB_DATABASE'));//string(0) ""
var_dump(config('database')['connections']['mysql']['database']);//string(0) ""
.env に項目がない場合
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
env()2番目の引数のデフォルト値が設定される。
var_dump(env('DB_DATABASE'));// NULL
var_dump(config('database')['connections']['mysql']['database']);// string(5) "forge"
.envファイルが存在しない場合500サーバーエラーとなる。
config/以下のファイルの.env()のデフォルト値は本番環境の設定を書いておいて
本番環境の.envには内容があまりないようにしておくのが良さそう?
投稿日 |
2019年12月 2日 06:17 |
カテゴリ |
PHP |
タグ |
Laravel |
トラックバック URL |
http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1804 |
コメント