Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Name

register_function() — Déclare dynamiquement des plugins de fonction de templates

Description

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

Il faut passer en paramètres le nom de la fonction de templates, suivi par le nom de la fonction PHP qui l'implémente.

La fonction PHP de callback function peut être soit :

  • Une chaîne de caractères contenant la fonction name

  • Un tableau sous la forme array(&$object, $method)&$object est une référence d'objet et $method une chaîne contenant le nom de la méthode

  • Un tableau sous la forme array($class, $method)$class est le nom de la classe et $method est une méthode de la classe.

Les paramètres cacheable et cache_attrs peut être omis dans la plupart des cas. Voir Contrôler la mise en cache des sorties des Plugins pour plus d'informations concernant cette utilisation.

Example 13.23. Exemple avec register_function()


<?php
$smarty->register_function('date_now', 'print_current_date');

function print_current_date ($params) {
    extract($params);
    if(empty($format))
        $format="%b %e, %Y";
    echo strftime($format,time());
}

?>

   

Où le template est :


{date_now}

{* ou, formaté différemment *}
{date_now format="%Y/%m/%d"}

   

Voir aussi unregister_function() et les plugins de fonction.