PHP
.env
laravel5.4

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

はじめに

今回は、画像のパスを本番環境だけ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: