これは、テンプレートの読み込み時の正規表現によるパースを回避する方法です。 もとのテンプレートを毎回パースするかわりに、 その内部表現 (シリアライズした配列) を保持しておき、それを読み込みます。
Smarty におけるテンプレートのコンパイルを考えてみてください。 Sigma はテンプレートを PHP コードにコンパイルしません。
データのキャッシュは 行いません。 データをキャッシュしたければ、PEAR の キャッシュ関連のパッケージ を使うことを考慮してください。
はい。
いいえ。キャッシュされた内容は、テンプレートが変更されるまでは有効となります。
はい。キャッシュディレクトリのファイルを削除してください。
はい。個人的にそれを実感しています。
もし何らかのベンチマークを行うのなら、人為的なものではなく 実際に使用している複雑なテンプレートで行ってください。 テンプレートが大きく複雑なもの (ブロック数が十数個になるものなど) になればなるほど、パフォーマンスの向上は大きくなります。
キャッシュ処理は完全に透過的に行われます。 この機能を活用するには、 コンストラクタ の二番目の引数を渡すか、あるいは setCacheRoot() メソッドを後でコールするだけです。
<?php
require_once 'HTML/Template/Sigma.php';
$tpl =& new HTML_Template_Sigma('./templates', './templates/prepared');
$tpl->loadTemplateFile('default.html');
// 続行
?>
./templates
にある各テンプレートは、
loadTemplatefile()、
addBlockfile()、
replaceBlockfile()
あるいは
<!-- INCLUDE -->
で読み込まれます。準備されたバージョンは
./templates/prepared
に配置されます。