【Laravel】公開タイマーを設定し開発環境のみ表示させるようにしたい

Laravel

Laravelで数ヶ月先に公開する機能を予め実装しましたが、公開し忘れないよう、公開のタイマーを設定しました。
ただ、公開前であっても、開発環境では表示がされるようにしようと思います。

前提

・公開日は2021年4月1日とします。
・本日は2021年3月31日以前とします。

やること

制御したい箇所(今回の場合Viewファイル内でやりました)

@if (config('app.env') === 'local' || time() >= strtotime('2021-04-01 00:00')) 
   {{-- ここにコンテンツが入ります --}}
@endif

解説

①ローカル環境であるかどうかの確認
.envではローカルの設定となっています。

APP_ENV=local

configに何かを記述する必要はないです。

②現在時刻が公開時刻後でないかの確認

現在時刻はtime関数で取れ、公開時刻はstrtotime関数を使いタイムスタンプ値を取ります。
両者を比較させるようにします。

今回のケースでは、①または②の条件であれば表記されるよう、if文で該当箇所を囲んであげれば良いという事になります。


公開後は、どこかのタイミングでif文を消しておきたい所ですが、

この手法を使えば公開し忘れるという事はなくなるので、便利な方法かと思います。

コメント

タイトルとURLをコピーしました