eval

Nome do Atributo Tipo Obrigatório Padrão Descrição
var mixed Sim n/a Variável (ou string) para avaliar
assign string Não n/a A variável de template que receberá a saída

eval é usado para avaliar uma variável como template. Isto pode ser usado para coisas como embutir tags/variáveis de template dentro de variáveis ou tags/variáveis dentro de variáveis em um arquivo de configuração.

Se você indicar o atributo especial "assign", a saída da função eval irá para esta variável de template ao invés de aparecer no template.

Nota Técnica: Variáveis avaliadas são tratadas igual a templates. Elas seguem o mesmo funcionamento para escapar e para segurança como se fossem templates.

Nota Técnica: Variáveis avaliadas são compiladas a cada invocação, as versões compiladas não são salvas. Entretando, se você tiver o cache ativado, a saída vai ficar no cache junto com o resto do template.

Exemplo 8-4. eval

setup.conf
----------
emphstart = <b>
emphend = </b>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}.
index.tpl
---------
{config_load file="setup.conf"}
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign="state_error"}
{$state_error}
MOSTRA:
This is the contents of foo.
Welcome to Foobar Pub & Grill's home page!
You must supply a <b>city</b>.
You must supply a <b>state</b>.