Lumenでオリジナル設定ファイルを設置する
Laravelではconfigディレクトリがあるのですが、軽量版Laravelこと「Lumen」ではそもそもconfigディレクトリがないので、Lumenで設定ファイルを利用するにはどうすればいいのかを調べてみました。
更新日: 2018.7.17公開日: 2018.6.19
Laravelではconfigディレクトリのファイルを自動読み込み
本家のLaravelでは、アプリルートのconfigディレクトリの設定ファイルを自動で読み込んでくれます。しかし、軽量版であるLuemnではその機能が除かれているので、読み込み設定を追加します。
アプリルートにconfigディレクトリを作成する
まずは、アプリルートにconfigディレクトリを作成します。
このディレクトリの設定ファイルは、後述の「$app->configure();」で読み出す事になります。
configディレクトリに設定ファイルを用意する
先ほど作ったconfigディレクトリに設定ファイルを起きます。今回は、site.phpという名前の設定ファイルを起きます。
<?php
define('CDN', 'cdn.hogehoge.com');
return [
'site_name' => 'hogehoge',
'site_url' => 'hogehoge.com',
'author' => 'fugafuga',
];
defineで定数にすることも出来ますし。returnで値を返すことも出来ます。
bootstrap/app.phpに読み込み設定を追記する
続いて、作成した設定ファイルを読み込む設定をします。
.
.
.
$app = new LaravelLumenApplication(
realpath(__DIR__.'/../')
);
//追記
$app->configure('site');
.
.
.
書き方としては、configファイル名から.phpを取った形になります。
configを読み込む
読み出しは、先ほどの「configファイル名から.phpを取った形」になります。
コントローラーなどから、
$conffig = config('site');
などで呼び出せます。
一手間加える必要がありますが、サイト全体で使う変数などは設定ファイルに入れておくと便利なので、ゼひ使ってみてください。