Lumenでオリジナル設定ファイルを設置する

Laravelではconfigディレクトリがあるのですが、軽量版Laravelこと「Lumen」ではそもそもconfigディレクトリがないので、Lumenで設定ファイルを利用するにはどうすればいいのかを調べてみました。

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 Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

//追記
$app->configure('site');
.
.
.

書き方としては、configファイル名から.phpを取った形になります。

configを読み込む

読み出しは、先ほどの「configファイル名から.phpを取った形」になります。

コントローラーなどから、

$conffig = config('site');

などで呼び出せます。


一手間加える必要がありますが、サイト全体で使う変数などは設定ファイルに入れておくと便利なので、ゼひ使ってみてください。