Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...

When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store


registerPlugin() — dynamically register plugins


void registerPlugin(string type,
                    string name,
                    mixed callback,
                    bool cacheable,
                    mixed cache_attrs);

This method registers functions or methods defined in your script as plugin. It uses the following parameters:

  • type defines the type of the plugin. Valid values are "function", "block", "compiler" and "modifier".

  • name defines the name of the plugin.

  • callback defines the PHP callback. it 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 201. register a function plugin


$params["format"])) {
$format "%b %e, %Y";
  } else {
$format $params["format"];


And in the template


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

Example 202. register block function plugin

// function declaration
function do_translation ($params$content$smarty, &$repeat$template)
  if (isset(
$content)) {
$lang $params["lang"];
// do some translation with $content
return $translation;

// register with smarty


Where the template is:

{translate lang="br"}Hello, world!{/translate}


Example 203. register modifier plugin


// let's map PHP's stripslashes function to a Smarty modifier.


In the template, use ss to strip slashes.


See also unregisterPlugin(), plugin functions, plugin block functions, plugin compiler functions, and the creating plugin modifiers section.

Smarty Template Engine