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文を消しておきたい所ですが、
この手法を使えば公開し忘れるという事はなくなるので、便利な方法かと思います。
コメント