.html
サーバー上のパブリックフォルダーにファイルを生成して保存する zend アプリケーションがあります。これはキャッシング メカニズムであり、cron ジョブで 1 日 1 回実行されます。
cache.phtml
最も新しく生成されたファイルの内容をzend ビューに含めたいと思い.html
ます。どうやってやるの。
生成された'html
ファイルがreport.html
.
ありがとう
.html
サーバー上のパブリックフォルダーにファイルを生成して保存する zend アプリケーションがあります。これはキャッシング メカニズムであり、cron ジョブで 1 日 1 回実行されます。
cache.phtml
最も新しく生成されたファイルの内容をzend ビューに含めたいと思い.html
ます。どうやってやるの。
生成された'html
ファイルがreport.html
.
ありがとう
view helper
キャッシュの内容を取得するために を作成します。ビュー ヘルパーには、正しいファイルを見つけてその内容を読み取り、それを返す単純な PHP メソッドが含まれます。
class App_View_Helper_Cache extends
extends Zend_View_Helper_Abstract
{
public function cache()
{
$file = <however you figure out what the file is>;
return file_get_contents($file);
}
}
次に、ビューで、ビュー ヘルパーを単純にエコーします。
<?= $this->cache() ?>
フラット HTML ファイルをその場でレンダリングするには:
このためのヘルパーを作成する必要はありません。次のものを使用できます。
<?= $this->render('/path/to/report.html') ?>
ただし、それを使用しないでください。Zend_Cache を使用してください。
ただし、Zend_Cacheを調べる必要があります。データベースからプルするのではなく、モデルの Zend Cache から変数をロードする方が、アプリケーションの残りの部分とより一貫性があることがわかる場合があります。
注: これらの手順は Zend Framework 1 用です。Zend Framework 2 キャッシュには同様の機能がありますが、同じではありません。
まず、キャッシュを作成します。
$frontendOptions = array(
'lifetime' => 60*60*24, // cache lifetime of 24 hours
'automatic_serialization' => true
);
$backendOptions = array(
'cache_dir' => './tmp/' // Directory where to put the cache files
);
$cache = Zend_Cache::factory('Core','File',$frontendOptions,$backendOptions);
次に、これを実行して、必要なときに値を取得します。
public function cacheAction(){
...
if(!$result = $cache->load('daily_report')){
$result = dailyFunction();
$cache->save($result, 'daily_report')
}
$this->view->result = $result;
}
これはdailyFunction()
1 日に 1 回実行され (lifetime
変数で定義)、$result
キャッシュまたは関数から返されます。その後、通常どおりビューで使用できます。
cron ジョブ、静的 HTML ファイル、およびキャッシュのすべての利点はありません。