[Utility.php] キャッシュファイルの使用サンプル 2

前回までに、キャッシュファイルを作成する関数と、キャッシュファイルを読込む関数を作成しました。

それでは、実際の使用例を紹介いたします。
使用例は2つあります。

今回は、

ブラウザに返却するHTMLデータまるごとキャッシュする方法

を掲載いたします。

まずは、次のプログラムをご確認ください。

<title></title>
  &lt;meta name=&quot;keywords&quot; content=&quot;"&gt;
  &lt;meta name=&quot;description&quot; content=&quot;"&gt;
 
 
 $lastModified);

// バッファを変数に格納
$content = ob_get_contents();

// キャッシュファイルに書込む
saveCacheFile($fileName, $headers, $content);

// バッファを出力(ブラウザにはここで出力)
ob_end_flush();

今回のポイントは、 ob_start(); です。
ob_start(); を行うと、全ての出力が一時的に保留されます。
保留された出力は、ob_end_flush();を行うことで、一気に開放されます。
バッファに貯まっている文字列は、 ob_get_contents();で取得できます。

出力内容をすべてバッファに貯めておき、処理の最後でバッファをキャッシュに保存しています。

$headers には、 lastModified を入れています。
lastModifiedは、このデータの最終更新日になります。
掲示板などの投稿サイトの場合ですと、最後に投稿があった日付をデータベースに保存しておき、新しい日付の投稿がなければデータが更新されていないので、キャッシュから読み出すという流れになります。