math
Nom attribut
Type
Requis
Defaut
Description
equation
chaîne de caractères
Oui
n/a
L'opération à éxécuter
format
chaîne de caractères
Non
n/a
Le format du résultat (sprintf)
var
numeric
Oui
n/a
Les variables de l'opération
assign
chaîne de caractères
Non
n/a
Variable de template dans laquelle la sortie
sera assignée
[var ...]
numeric
Oui
n/a
Valeurs des variables de l'opération
math autorise les designers de templates à effectuer des opérations
dans le template. Toute valeur numérique peut être utilisée dans une
opération, et le résultat sera affiché à la place des balises
"equation". Les variables utilisées dans l'opération sont passées en
tant que paramètre, et peuvent être des variables de templates ou des
valeurs statiques. +, -, /, *, abs, ceil, cos,
exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt,
srans et tan sont tous des opérateurs valides. Voir la
documentation PHP pour plus d'informations sur ces fonctions
mathématiques.
Si vous spécifiez l'attribut assign, la sortie sera assignée à la variable
donnée plutôt que d'être directement affichée.
Note technique
math est une fonction coûteuse en terme de performances, du fait
qu'elle utilise la fonction PHP eval (). Effectuer les calculs
dans votre code PHP est beaucoup plus efficient, donc, chaque fois
que possible, effectuez vos calculs directement dans PHP et assignez
le résultat au template. Evitez coût que coût les appels
répétitifs à la fonction math, comme on pourait le faire une
une boucle section.
math
{* $height=4, $width=5 *}
{math equation="x + y" x=$height y=$width}
SORTIE:
9
{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}
{math equation="height * width / division"
height=$row_height
width=$row_width
division=#col_div#}
SORTIE:
100
{* vous pouvez utiliser des parenthèses *}
{math equation="(( x + y ) / z )" x=2 y=10 z=2}
SORTIE:
6
{* vous pouvez définir un format sprintf pour l'affichage *}
{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
SORTIE:
9.44