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