名前

registerFilter() — 動的にフィルタを登録する

説明

void registerFilter(string type,
                    mixed callback);

この関数は、テンプレート上で動くフィルタを動的に登録します。 次のパラメータを使います。

  • type にはフィルタの型を定義します。使える値は "pre"、"post"、"output" および "variable" です。

  • PHP 関数のコールバック function は、次のいずれかとなります。

    • 関数名を含んだ文字列

    • array($object, $method) 形式の配列 ($object はオブジェクトの参照で、 $method はメソッド名を含む文字列)

    • array($class, $method) という形式の配列 ($class はクラス名であり、 $method はクラスのメソッド名)

テクニカルノート

選択したコールバック functionarray(&$object, $method) 形式である場合は、 同じ $method を持つクラスのインスタンスをひとつだけ登録できます。 そのような場合は、最後に登録されたコールバック function のみが用いられます。

プリフィルタ は、テンプレートのソースをコンパイルする前に実行します。 プリフィルタ関数を準備する方法の詳細は テンプレート プリフィルタ を参照ください。

ポストフィルタ は、テンプレートを PHP にコンパイルした後で実行します。 ポストフィルタ関数を準備する方法の詳細は テンプレート ポストフィルタ を参照ください。

アウトプットフィルタ は、テンプレートの出力を 表示 する前に実行します。 アウトプットフィルタ関数を準備する方法の詳細は テンプレート アウトプットフィルタ を参照ください。

unregisterFilter()loadFilter()$autoload_filtersテンプレート プリフィルタテンプレート ポストフィルタテンプレート アウトプットフィルタ も参照ください。