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