register_block() — ブロック関数プラグインを動的に登録します。
void register_block(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);
ブロック関数プラグイン を動的に登録します。パラメータには、ブロック関数名とそれを実装する PHP のユーザー定義関数名を渡します。
PHP 関数のコールバック function
は、次のいずれかとなります。
関数名を含んだ文字列
array(&$object, $method)
形式の配列
(&$object
はオブジェクトの参照で、
$method
はメソッド名を含む文字列)
array($class, $method)
という形式の配列
($class
はクラス名であり、
$method
はクラスのメソッド)
cacheable
と cache_attrs
はほとんどの場合に省略可能です。これらの正しい使用法についての詳細は、
キャッシュ可能なプラグインの出力の制御
を参照して下さい。
Example 13.22. register_block()
<?php // 関数の宣言 function do_translation ($params, $content, &$smarty, &$repeat) { if (isset($content)) { $lang = $params['lang']; // $content においていくつかの変換を行います return $translation; } } // smarty に登録します $smarty->register_block('translate', 'do_translation'); ?>
テンプレート
{translate lang='br'}Hello, world!{/translate}
unregister_block()
および
ブロック関数プラグイン
のページも参照してください。