register_function <methodsynopsis> <type>void</type><methodname>register_function</methodname> <methodparam><type>string</type><parameter>name</parameter></methodparam> <methodparam><type>mixed</type><parameter>impl</parameter></methodparam> <methodparam choice="opt"><type>bool</type><parameter>cacheable</parameter></methodparam> <methodparam choice="opt"><type>mixed</type><parameter>cache_attrs</parameter></methodparam> </methodsynopsis> <para> Utilisée pour déclarer dynamiquement des plugins de fonction de templates. 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. </para> <para> La fonction PHP <parameter>impl</parameter> peut être soit (a) une chaîne de caractères contenant le nom de la fonction, soit (b) un tableau de la forme <literal>array(&$object, $method)</literal> où <literal>&$object</literal> est une référence à un objet et <literal>$method</literal> est le nom de la méthode, soit (c) un tableau de la forme <literal>array(&$class, $method)</literal> où <literal>$class</literal> est le nom de la classe et <literal>$method</literal> est une méthode de cette classe. </para> <para> Les paramètres <parameter>cacheable</parameter> et <parameter>cache_attrs</parameter> peut être omis dans la plupart des cas. Voir <link linkend="caching.cacheable">Contrôler la mise en cache des sorties des Plugins</link> pour plus d'informations concernant cette utilisation. </para> <example> <title>Exemple avec register_function 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()); } // vous pouvez maintenant utiliser ceci dans Smarty pour afficher // la date actuelle : {date_now} ou {date_now format="%Y/%m/%d"} // pour la formater ?> ]]>