Posted at

laravel5.4でconst.phpに定義した定数の値を.envで環境ごとに変える

More than 1 year has passed since last update.


はじめに

今回は、画像のパスを本番環境だけcdnに、他の環境では相対パスでの指定にする、という場合に行った一例を記述します。


/config/const.phpに定数を定義する


const.php

return array(

'cdn'=> env('cdnPath', '//cdn.net/img'),
);


env()というのが.envファイルの設定を利用する際の関数で、第1引数がキー、第2引数が「デフォルト値」です。

.envファイルにcdnPathというキーの環境変数が存在しなかった場合、この第2引数の値が返されます。

参考:Laravel 5.4 設定


本番環境以外の.envに設定を書く


 .env

cdnPath=/img


ファイル内に設定を書きます。

本番環境ではデフォルト値にしたいので、何も書きません。

cdnPathの設定を.envに記述した場合のみ、.envに設定した値が返されます。


テンプレートで使う


sample.blade.php

<img src="{{Config::get('const.cdn')}}/sample.png">


上記のようにした場合、以下のような表示になります。


本番環境

<img src="//cdn.net/img/sample.png">


.envに設定したその他の環境

<img src="/img/sample.png">

.env便利:cat::dash: