Smarty Manual
Prev |  | Next

# 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 `function` can be either:

- A string containing the function `name`

- 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

- An array of the form `array(&$class, $method)` with `$class` being the class name and `$method` being a method of the 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 the plugin functions section.

Prev | Home | Next
register_compiler_function() | Up | register_modifier()