Name
register_function
void register_function(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);
Wird verwendet, um Template-Funktion-Plugins dynamisch zu registrieren. Übergeben Sie dazu den Namen der Template-Funktion und den Namen der PHP-Funktion, die die entsprechende Funktionalität bereitstellt.
Der Parameter impl
kann als (a) einen Funktionnamen oder (b) einem Array der Form array(&$object, $method)
,
wobei &$object
eine Referenz zu einem Objekt und $method
der Name der Methode die aufgerufen werden soll ist,
oder als Array der Form array(&$class, $method)
, wobei $class
der Name der Klasse und $method
der Name der Methode ist die aufgerufen werden soll, übergeben werden.
$cacheable
und $cache_attrs
können in den meisten Fällen weggelassen werden. Konsultieren Sie Die Ausgabe von cachebaren Plugins Kontrollieren für weitere Informationen.
Example 13.22. register_function (Funktion registrieren)
<?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()); } } // Von nun an können Sie {date_now} verwenden, um das aktuelle Datum auszugeben. // Oder {date_now format="%Y/%m/%d"}, wenn Sie es formatieren wollen.</programlisting> ?>