{eval}

{eval} évalue une variable comme si cette dernière était un template. Peut être utile pour embarquer des balises de templates ou des variables de template dans des variables ou des balises/variables dans des variables de fichiers de configuration.

Si vous définissez l'attribut "assign", la sortie sera assignée à la variable de template désignée plutôt que d'être affichée dans le template.

Nom attributTypeRequisDefautDescription
varmixedOuin/avariable (ou chaîne de caractères) à évaluer
assignchaîne de caractèresNonn/aLe nom de la variable PHP dans laquelle la sortie sera assignée

Note technique : Les variables évaluées sont traitées de la même façon que les templates. Elles suivent les mêmes règles de traitement et de sécurité, comme si elles étaient réellement des templates.

Note technique : Les variables évaluées sont compilées à chaque invocation, et la version compilée n'est pas sauvegardée ! Toutefois, si le cache est activé, la sortie sera placée en cache avec le reste du template.

Exemple 8-5. {eval}

setup.conf
----------

emphstart = <strong>
emphend = </strong>
titre = Bienvenue sur la homepage de {$company} !
ErrorVille = Vous devez spécifier un nom de {#emphstart#}ville{#emphend#}.
ErrorDept = Vous devez spécifier un {#emphstart#}département{#emphend#}.

Où index.tpl est :

{config_load file="setup.conf"}

{eval var=$foo}
{eval var=#titre#}
{eval var=#ErrorVille#}
{eval var=#ErrorDept# assign="state_error"}
{$state_error}

L'exemple ci-dessus affichera :

Ceci est le contenu de foo.
Bienvenue sur la homepage de FictifLand.
Vous devez spécifier un nom de <strong>ville</strong>.
Vous devez spécifier un <strong>département</strong>.