PHP Manual

PEAR Manual

Smarty Manual

PostgreSQL

MySQL Manual

Perl Manual

register_function()

register_function() -- dynamically register template function plugins

description

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()

<?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());
}
?>

and in the template

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

see also unregister_function() and plugin functions .