register_function() -- dynamically register template function plugins


void register_function ( string name, mixed impl [, bool cacheable [, mixed cache_attrs]])

Pass in the template function name, followed by the PHP function name that implements it.

The php-function callback impl can be either

  1. a string containing the function name

  2. an array of the form array(&$object, $method) with &$object being a reference to an object and $method being a string containing the method-name

  3. an array of the form array(&$class, $method) with $class being a classname and $method being a class method of that class.

cacheable and cache_attrs can be omitted in most cases. See Controlling Cacheability of Plugins' Output on how to use them properly.

Example 13-1. register_function()


print_current_date($params, &$smarty)
$params['format'])) {
$format "%b %e, %Y";
  } else {
$format $params['format'];

And in the template


{* or to format differently *}
{date_now format="%Y/%m/%d"}

See also unregister_function() and Plugin functions .

© Copyright 2003-2014 The ultimate PHP Editor and PHP IDE site.