Manuel Smarty

register_function()

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.

Exemple 13-1. Exemple avec register_function()

  1. <?php
  2. $smarty->register_function('date_now', 'print_current_date');  
  3.  
  4. function print_current_date ($params) { 
  5.    extract($params); 
  6.    if(empty($format)) 
  7.       $format="%b %e, %Y"; 
  8.    echo strftime($format,time());  
  9. }  
  10.  
  11. ?> 

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.


Remonter Remonter
Jamma Play - L'éditeur javascript - CSS - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique