PHP Manual

PEAR Manual

Smarty Manual

PostgreSQL

MySQL Manual

Perl Manual

chapitre 5. modificateurs de variables

les modificateurs de variables peuvent être appliqués aux variables, fonctions utilisateurs ou chaînes de caractères. pour appliquer un modificateur de variable, tappez une valeure suivie de | (pipe) et du nom du modificateur. un modificateur de variable est succeptible d'accepter des paramètres additionnels, qui en affectent le comportement. ces paramètres suivent le nom du modificateur et sont séparés par un : (deux points).

exemple 5-1. exemple de modificateur

{* applique un modificateur à une variable *} {$titre|upper}  {* modificateur avec paramètres *} {$titre|truncate:40:"..."}  {* applique un modificateur à un paramètre de fonction *} {html_table loop=$mavariable|upper} {* avec paramètres *} {html_table loop=$mavariable|truncate:40:"..."}  {* applique un modificateur à une chaine de caractères *} {"foobar"|upper}  {* utilise date_format pour mettre en forme la date *} {$smarty.now|date_format:"%d/%m/%y"}  {* applique un modificateur à une fonction utilisateur *} {mailto|upper address="moi@domaine.dom"}

si vous appliquez un modificateur de variable à un tableau plutôt qu'à une variable simple, le modificateur sera appliqué à chaque valeur du tableau. si vous souhaitez que le modificateur travaille réellement avec le tableau en tant que tel, vous devez préfixer le nom du modificateur avec un symbole @ comme ceci: {$titrearticle|@count} (affiche le nombre d'élements du tableau $titrearticle.)

les modificateurs sont chargés automatiquement depuis votre répertoire de plugin $plugins_dir (voir aussi: convention de nommage) ou peuvent être enregistrés explicitement (voir: register_modifier).

de même, toutes les fonction php peuvent être utilisées comme modificateur, sans autre déclaration. (l'exemple avec @count ci dessus utilise la fonction count(), et non un modificateur smarty. utiliser des fonctions php en tant que modificateur comporte deux risques: premièrement: il arrive que l'ordre des paramètres ne soit pas celui attendu ({"%2.f"|sprintf:$float} fonctionne, mais demande une syntaxe plus naturelle, par exemple{$float|string_format:"%2.f"} fourni dans la distribution smarty). deuxièmement : lorsque $security est activé, les fonctions php utilisées en tant que modificateur doivent être explicitement déclarées comme connues dans le tableau $security_settings['modifier_funcs'].

voir aussi register_modifier(), register_function(), étendre smarty avec des plugins et les modifieurs.

capitalize

met la première lettre de chaque mot d'une variable en majuscule.

position du paramètretyperequisdéfautdescription
1booléennofalsedétermine si oui ou non les mots contenant des chiffres doivent être mis en majuscule

exemple 5-2. mise en majuscule

<?php

$smarty
->assign('titrearticle''le nouveau php5 est vraiment performant !');

?>

où index.tpl contient :

{$titrearticle} {$titrearticle|capitalize} {$titrearticle|capitalize:true}

affichera :

le nouveau php5 est vraiment performant ! le nouveau php5 est vraiment performant ! le nouveau php5 est vraiment performant !

voir aussi lower et upper.