---
Array (2)
0 => Array (2)
page_nm => "トップ"
page_sysnm => "top"
1 => Array (3)
page_nm => "Smartyマニュアル"
page_sysnm => "manual_smarty"
this => 1
---
register_function()register_function()
register_function() -- テンプレート関数プラグインを動的に登録します。
説明
void
register_function ( 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 は、
ほとんどの場合に省略可能です。これらの正しい使用法についての詳細は、
キャッシュ可能なプラグインの出力の制御
を参照して下さい。
例 13-1. register_function()
<?php $smarty->register_function('date_now', 'print_current_date');
function print_current_date($params, &$smarty) { if(empty($params['format'])) { $format = "%b %e, %Y"; } else { $format = $params['format']; } return strftime($format,time()); } ?>
|
テンプレート
{date_now}
{* 異なるフォーマット *}
{date_now format="%Y/%m/%d"} |
|
unregister_function()
および
テンプレート関数プラグイン の項も参照してください。