Files
smarty/docs/fr/designers/language-custom-functions/language-function-eval.xml
2004-04-13 15:43:47 +00:00

120 lines
3.8 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.eval">
<title>eval</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>var</entry>
<entry>mixed</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>variable (ou chaîne de caractères) à évaluer</entry>
</row>
<row>
<entry>assign</entry>
<entry>chaîne de caractères</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable PHP dans laquelle la sortie
sera assignée</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
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.
</para>
<para>
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.
</para>
<note>
<title>Note technique</title>
<para>
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.
</para>
</note>
<note>
<title>Note technique</title>
<para>
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.
</para>
</note>
<example>
<title>eval</title>
<programlisting>
setup.conf
----------
emphstart = &lt;b&gt;
emphend = &lt;/b&gt;
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#}.
index.tpl
---------
{config_load file="setup.conf"}
{eval var=$foo}
{eval var=#titre#}
{eval var=#ErrorVille#}
{eval var=#ErrorDept# assign="state_error"}
{$state_error}
SORTIE:
Ceci est le contenu de foo.
Bienvenue sur la homepage de FictifLand.
Vous devez spécifier un nom de &lt;b&gt;ville&lt;/b&gt;.
Vous devez spécifier un &lt;b&gt;département&lt;/b&gt;.
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->