yiiフレームワークで特定の時間にキャッシュと自動リロードページをクリアする方法は?たとえば、次の5時間以内に、キャッシュをクリアしてからページをリロードする前に、ページのコンテンツを変更する必要があります。
$time = date('h:i:s A', strtotime("+5 hours"));
その後5時間以内に、キャッシュが再度クリアされ、同じページがリロードされて新しいコンテンツが表示されます
私がよく質問を理解している場合。
あなたがいるYiiビューで、javascriptに次のようなものを追加します
<script>
setTimeout(function(){ window.location = "<URL>";}, 5*60*1000);
</script>
これは5分後のリダイレクトです。5時間必要な場合は
300*60*1000
URLを必要なwww.example.com/controller/actionにポイントします。
それでもPHPでそれを実行したい場合は、この行をビューに追加できると思います。
<?php header("Refresh: 18000; URL=http://www.example.com/controller/action"); ?>
ここで18000は秒単位です。
それが役に立てば幸い。
ただし、ビューのごく一部のみを更新する場合は、データを更新するコントローラー/アクションにajaxリクエストを送信するタイマーを作成してみませんか?Yiiはそのようなニーズに対応する準備ができています。