Laravel envで特定の環境で運用されていることを表示する
@env(['staging’, 'production’])
// アプリケーションは"staging"か"production"環境で動いている
@endenv
こんにちは。今回は特定の環境でのみビューに情報を表示する方法を解説します。envを利用して簡単に行うことができるのでお勧めです。
やりたいこと
プロダクトを作成するときには製品が動作する環境だけではなく、開発用、テスト用と複数の環境を作成することが殆どだと思います。このとき開発用、テスト用の環境ではデバッグ用の機能を動かしたいのですが、本番環境では隠しておきたい機能があったりします。今回は特定の環境でのみ有効になる機能を作成していきます。
手順
.envを編集する
現在の環境情報は.envのAPP_ENVに設定します。値は任意のものを設定可能です。プロジェクトに合わせて値を定義しましょう。よくある名前だと以下のようなものがあります。
- production 製品環境
- staging 検証環境
- local, dev 開発環境
今回はlocalに設定します。
APP_ENV=local
bladeで現在の環境を判断する
bladeで環境情報を取得するには@envを使用します。local, stagingでのみ動作するコードは以下のように記述します。
@env(['local', 'staging'])
this is local or staging environment
@endenv
まとめ
現在の環境を判断する方法はこれがlaravel公式のやり方になります。このやり方で行うとコントローラなどでも環境判断を行うことができます。別の方法で実装していた方はこのやり方をお勧めします。
ディスカッション
コメント一覧
まだ、コメントがありません