register_function()
void ''register_function' ( string name, mixed impl, bool cacheable, mixed cache_attrs)
テンプレート関数プラグインを動的に登録します。
パラメータには、テンプレート関数名とそれを実装するphpのユーザー定義関数名を渡します。
パラメータには、テンプレート関数名とそれを実装するphpのユーザー定義関数名を渡します。
php関数をコールバックするための impl は、次の3つのどれかでありえます。
- (a) 関数名を含んだ文字列
- (b) array(&$object, $method) という形式の配列 (&$object はオブジェクトの参照であり、$method はメソッド名を含む文字列
- (c) array(&$class, $method) という形式の配列($class はクラス名であり、 $method はクラスのメソッド)
$cacheable と $cache_attrsはほとんどの場合は省略する事が出来ます。
これらの正しい使用法についての詳細は、キャッシュ可能なプラグインの出力の制御を参照して下さい。
これらの正しい使用法についての詳細は、キャッシュ可能なプラグインの出力の制御を参照して下さい。
例 1. register_function
<?php
$smarty->register_function("date_now", "print_current_date");
function print_current_date($params)
{if(empty($params['format'])) { $format = "%b %e, %Y"; } else { $format = $params['format']; return strftime($format,time()); }}
?>