0
0

More than 3 years have passed since last update.

【Lumen】.envをconfig()で読み込む

Last updated at Posted at 2020-11-08

はじめに

Laravelでは、.envから環境変数を読み込む際、env()が使われます。

ただし、このenv()で直接.envにアクセスするのは好ましくありません。

理由としては、Laravelは設定ファイルのキャッシュが存在する場合、
.envを読み込まずにキャッシュを参照する仕様になっているためです。

ではどうすればいいのかというと、タイトルにある通り、config()を使用します。

本記事では、このconfig()での.env読み込みについて、
Lumenで実装する方法についてまとめます。

※Laravelでの具体的な実装例やenv()を使ってはいけない理由などをブログに詳しくまとめられている方がいらっしゃいます。
本記事では詳細には触れないので、気になる方はこちらをご覧ください。
Laravel の .env の値は config() 経由で使う

Lumenでconfig()を使う

  • configディレクトリ配下に任意の名前のファイルを作成します。
config/hoge.php
<?php

return [
    'fuga' => env('FUGA')
];

ここでは、.envにあるFUGAという環境変数を登録することにします。

  • bootstrap/app.phpに以下のコードを追記
bootstrap/app.php
// 追記
$app->configure('hoge');

ここがLaravelとは違ってLumen独自の設定となります。
configure()の引数には、上で作成したファイル名を入れます。(今回は'hoge')

設定は以上です。
あとは環境変数を呼び出したいところで、以下のように呼び出せます。

config('hoge.fuga');

おわりに

Lumenを触ることになって間もないですが、やはりLaravelとは違う部分が所々に見られて、
戸惑うことが多いですね...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0