math

Nome do atributo Tipo Obrigatório Padrão Descrição
equation string Sim n/a a equação à ser executar
format string Não n/a o formato do resultado (sprintf)
var numérico Sim n/a valor da variável da equação
assign string Não n/a variável de template cuja saída será atribuida
[var ...] numérica Sim n/a valor da variável da equação

math permite o desenhista de template fazer equações matemáticas no template. Qualquer variável de template numérica pode ser usada nas equações, e o resultado é exibido no lugar da tag. As variáveis usadas na equação são passadas como parâmetros, que podem ser variáveis de template ou valores estáticos. +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans and tan são todos os operadores válidos. Verifique a documentação do PHP para mais informações acerca destas funções matemáticas.

Se você fornece o atributo especial "assign", a saída da função matemática será atribuído para esta variável de template ao invés de ser exibida para o template.

Nota Técnica: math é uma função de performance cara devido ao uso da função do php eval(). Fazendo a matemática no PHP é muito mais eficiente, então sempre é possível fazer os cálculos matemáticos no PHP e lançar os resultados para o template. Definitivamente evite chamadas de funções de matemáticas repetitivamente, como dentro de loops de section.

Exemplo 8-14. math

{* $height=4, $width=5 *}
{math equation="x + y" x=$height y=$width}
MOSTRA:
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#}
MOSTRA:
100
{* Você pode usar parenteses *}
{math equation="(( x + y ) / z )" x=2 y=10 z=2}
MOSTRA:
6
{* você pode fornecer um parâmetro de formato em sprintf *}
{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
MOSTRA:
9.44