プリフィルタ

プリフィルタは、テンプレートが コンパイルされる前に 実行される PHP ユーザ定義関数です。テンプレートに含まれた不必要なコメントを除いたり、第三者にテンプレートの更新を任せている時にテンプレート内にどのようなものが含まれているかを監視する等といった前処理を行います。

プリフィルタを使用するには、登録 が必要となります。

Simplate は内部でユーザ定義関数の第 1 パラメータにテンプレートのソースコードを渡すので、関数内で処理を行った後にその結果のソースコードを戻り値として返すようにします。

例. プリフィルタを使用する

これはテンプレートソース内の全てのコメントを取り除いてくれるでしょう。

  1. <?php
  2. // このユーザ定義関数をアプリケーションに加えます
  3. function remove_dw_comments($tpl_source)
  4. {
  5. return preg_replace("/<!--#.*-->/U", '', $tpl_source);
  6. }
  7. // プリフィルタを登録します
  8. $simplate->register_prefilter('remove_dw_comments');
  9. $simplate->display('index.tpl');
  10. ?>

register_prefilter() および ポストフィルタ も参照してください。