| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.console.getopt.rules">
- <title>Déclarer les règles Getopt</title>
- <para>
- Le constructeur de la classe <classname>Zend_Console_Getopt</classname> prend un à trois
- arguments. Le premier argument déclare quelles options sont supportées par votre
- application. Cette classe supporte des formes de syntaxe alternatives pour déclarer les
- options. Voir les sections ci-dessous pour le format et l'utilisation de ces formes de
- syntaxe.
- </para>
- <para>
- Le constructeur prend deux arguments supplémentaires, qui sont facultatifs. Le
- deuxième argument peut contenir les arguments de la ligne de commande. La valeur par défaut
- est <varname>$_SERVER['argv']</varname>.
- </para>
- <para>
- Le troisième argument du constructeur peut contenir des options de configuration pour
- adapter le comportement de <classname>Zend_Console_Getopt</classname>. Voir la section
- <link linkend="zend.console.getopt.configuration.config">Ajouter une
- configuration</link> pour la référence des options disponibles.
- </para>
- <sect2 id="zend.console.getopt.rules.short">
- <title>Déclarer des options avec la syntaxe courte</title>
- <para>
- <classname>Zend_Console_Getopt</classname> supporte une syntaxe compacte semblable à
- cela employée par <acronym>GNU</acronym> Getopt (voir
- <ulink
- url="http://www.gnu.org/software/libc/manual/html_node/Getopt.html">http://www.gnu.org/software/libc/manual/html_node/Getopt.html</ulink>).
- Cette syntaxe supporte seulement des drapeaux courts (1 seul caractère). Dans une
- chaîne de caractère unique, vous entrez chacune des lettres qui correspondent aux
- drapeaux supportés par votre application. Une lettre suivie d'un caractère deux points
- ("<emphasis>:</emphasis>") indique un drapeau qui exige un paramètre.
- </para>
- <example id="zend.console.getopt.rules.short.example">
- <title>Utiliser la syntaxe courte</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- ]]></programlisting>
- </example>
- <para>
- L'exemple ci-dessus montre l'utilisation de <classname>Zend_Console_Getopt</classname>
- pour déclarer que des options peuvent être données en tant que "<command>-a</command>",
- "<command>-b</command>" ou "<command>-p</command>". Le dernier drapeau exige un
- paramètre.
- </para>
- <para>
- La syntaxe courte est limitée aux drapeaux courts (1 seul caractère). Les alias, les
- types des paramètres, et les messages d'aide ne sont pas supportés dans la syntaxe
- courte.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.rules.long">
- <title>Déclarer des options avec la syntaxe longue</title>
- <para>
- Une syntaxe différente avec plus de possibilités est également disponible. Cette
- syntaxe permet d'indiquer des alias pour les drapeaux, les types de paramètres
- d'option, et aussi des messages d'aide pour décrire l'utilisation à l'utilisateur. Au
- lieu d'utiliser une chaîne de caractère unique comme pour la syntaxe courte, la syntaxe
- longue emploie un tableau associatif comme premier argument du constructeur pour
- déclarer les options.
- </para>
- <para>
- La clé de chaque élément du tableau associatif est une chaîne avec un format qui
- nomme le drapeau, avec tous ses alias, séparés par le symbole "<emphasis>|</emphasis>".
- Après la série des alias, si l'option exige un paramètre, il y a un symbole égal
- ("<emphasis>=</emphasis>") avec une lettre qui représente le <emphasis>type</emphasis>
- du paramètre :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- "<emphasis>=s</emphasis>" pour un paramètre de type chaîne de caractère.
- </para>
- </listitem>
- <listitem>
- <para>
- "<emphasis>=w</emphasis>" pour un paramètre de type mot (une chaîne de caractère
- qui ne contient pas d'espace).
- </para>
- </listitem>
- <listitem>
- <para>"<emphasis>=i</emphasis>" pour un paramètre de type entier (integer).</para>
- </listitem>
- </itemizedlist>
- <para>
- Si le paramètre est optionnel, on utilise le tiret ("<emphasis>-</emphasis>") au lieu du
- symbole égal.
- </para>
- <para>
- La valeur de chaque élément dans le tableau associatif est un message d'aide pour
- décrire à l'utilisateur comment employer votre programme.
- </para>
- <example id="zend.console.getopt.rules.long.example">
- <title>Utiliser la syntaxe longue</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt(
- array(
- 'abricot|a' => 'option abricot, sans parametres',
- 'banane|b=i' => 'option banane, avec un parametre entier obligatoire',
- 'pear|p-s' => 'option pear, avec un parametre chaîne optionel'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Dans l'exemple ci-dessus, il y a trois options. "<command>--abricot</command>" et
- "<command>-a</command>" sont des alias l'un pour l'autre et l'option ne prend pas de
- paramètres. "<command>--banane</command>" et "<command>-b</command>" sont des alias
- l'un pour l'autre et l'option prend un paramètre obligatoire de type entier. Enfin,
- "<command>--pear</command>" et "<command>-p</command>" sont des alias l'un pour l'autre
- et l'option prend un paramètre optionnel de type chaîne de caractère.
- </para>
- </sect2>
- </sect1>
|