| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.console.getopt.configuration">
- <title>Configurer Zend_Console_Getopt</title>
- <sect2 id="zend.console.getopt.configuration.addrules">
- <title>Ajouter des règles d'options</title>
- <para>
- Vous pouvez ajouter de nouvelles règles d'option en complément de celles
- indiquées dans le constructeur de <classname>Zend_Console_Getopt</classname>, en
- utilisant la méthode <methodname>addRules()</methodname>. L'argument
- d'<methodname>addRules()</methodname> est
- identique au premier argument du constructeur de classe. C'est soit une chaîne dans le
- format d'options de syntaxe courte, soit un tableau associatif dans le format
- d'options de syntaxe longue. Voir
- <link linkend="zend.console.getopt.rules">"Déclarer les règles Getopt"</link> pour les
- détails sur la syntaxe de déclaration des options.
- </para>
- <example id="zend.console.getopt.configuration.addrules.example">
- <title>Utilisation d'addRules()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->addRules(
- array(
- 'verbose|v' => 'Print verbose output'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- L'exemple au-dessus montre comment ajouter l'option "<command>--verbose</command>" avec
- l'alias "<command>-v</command>" à un ensemble d'options définies dans l'appel au
- constructeur. Notez que vous pouvez mélanger des options de syntaxe courte et de
- syntaxe longue dans la même instance de <classname>Zend_Console_Getopt</classname>.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addhelp">
- <title>Ajouter des messages d'aide</title>
- <para>
- En plus d'indiquer les messages d'aide en déclarant les règles d'option dans le
- long format, vous pouvez associer des messages d'aide aux règles d'option en utilisant
- la méthode <methodname>setHelp()</methodname>. L'argument de la méthode
- <methodname>setHelp()</methodname> est
- un tableau associatif, dans laquelle la clé est un drapeau, et la valeur est le message
- d'aide correspondant.
- </para>
- <example id="zend.console.getopt.configuration.addhelp.example">
- <title>Utiliser setHelp()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setHelp(
- array(
- 'a' => 'option abricot, sans paramètres',
- 'b' => 'option banane, avec un paramètre entier obligatoire',
- 'p' => 'option pear, avec un paramètre chaîne de caractères optionel'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Si vous déclarez des options avec des alias, vous pouvez employer n'importe quel
- alias comme clé du tableau associatif.
- </para>
- <para>
- La méthode <methodname>setHelp()</methodname> est la seule manière de définir des
- messages d'aide si vous déclarez les options en utilisant la syntaxe courte.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addaliases">
- <title>Ajouter des alias aux options</title>
- <para>
- Vous pouvez déclarer des alias pour des options en utilisant la méthode
- <methodname>setAliases()</methodname>. L'argument est un tableau associatif, dont la
- clé est une chaîne de drapeau déclaré auparavant, et dont la valeur est un nouvel alias
- pour ce drapeau. Ces alias sont fusionnés avec tous les alias existants. En d'autres
- termes, les alias que vous avez déclarés plus tôt sont toujours actifs.
- </para>
- <para>
- Un alias ne peut être déclaré qu'une seule fois. Si vous essayez de redéfinir un
- alias, une <classname>Zend_Console_Getopt_Exception</classname> est levée.
- </para>
- <example id="zend.console.getopt.configuration.addaliases.example">
- <title>Utiliser setAliases()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setAliases(
- array(
- 'a' => 'apple',
- 'a' => 'apfel',
- 'p' => 'pear'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Dans l'exemple ci-dessus, après leurs déclarations, "<command>-a</command>",
- "<command>--apple</command>" et "<command>--apfel</command>" sont des alias les un pour
- les autres. En outre "<command>-p</command>" et "<command>--pear</command>" sont des
- alias l'un pour l'autre.
- </para>
- <para>
- La méthode <methodname>setAliases()</methodname> est la seule manière de définir des
- alias si vous déclarez les options en utilisant la syntaxe courte.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addargs">
- <title>Ajouter des listes d'arguments</title>
- <para>
- Par défaut, <classname>Zend_Console_Getopt</classname> utilise
- <varname>$_SERVER['argv']</varname> comme tableau des arguments de ligne de commande à
- analyser. De manière alternative, vous pouvez indiquer le tableau d'arguments comme
- deuxième argument de constructeur. En conclusion, vous pouvez ajouter de nouveaux
- d'arguments à ceux déjà utilisés en utilisant la méthode
- <methodname>addArguments()</methodname>, ou vous pouvez remplacer le choix courant
- d'arguments en utilisant la méthode <methodname>setArguments()</methodname>.
- Dans les deux cas, le paramètre de ces méthodes est un
- simple tableau de chaîne. L'ancienne méthode ajoutait le tableau aux arguments
- courants, et la nouvelle méthode substitue le tableau aux arguments courants.
- </para>
- <example id="zend.console.getopt.configuration.addargs.example">
- <title>Utilisation de addArguments() et setArguments()</title>
- <programlisting language="php"><![CDATA[
- // Par défaut, le constructeur utilise $_SERVER['argv']
- $opts = new Zend_Console_Getopt('abp:');
- // Ajoute un tableau aux arguments existants
- $opts->addArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
- // Remplace les arguments existants par un nouveau tableau
- $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.config">
- <title>Ajouter une configuration</title>
- <para>
- Le troisième paramètre du constructeur de <classname>Zend_Console_Getopt</classname>
- est un tableau d'options de configuration qui affectent le comportement de l'instance
- d'objet retournée. Vous pouvez également indiquer des options de configuration en
- utilisant la méthode <methodname>setOptions()</methodname>, ou vous pouvez placer une
- option individuelle en utilisant la méthode <methodname>setOption()</methodname>.
- </para>
- <note>
- <title>Clarifier le terme "option"</title>
- <para>
- Le terme "option" est employé pour la configuration de la classe
- <classname>Zend_Console_Getopt</classname> afin de correspondre à la terminologie
- utilisée dans le reste de Zend Framework. Ce n'est pas la même chose que les
- options de la ligne de commande qui sont analysées par la classe
- <classname>Zend_Console_Getopt</classname>.
- </para>
- </note>
- <para>
- Les options actuellement supportées ont des définitions de constantes dans la
- classe. Les options, leurs constantes (avec des valeurs littérales entre parenthèses)
- sont énumérées ci-dessous :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_DASHDASH</constant>
- ("dashDash"), si <constant>TRUE</constant>, utilise le drapeau spécial
- "<command>--</command>" pour signifier la fin des drapeaux. Les arguments de
- la ligne de commande suivant le double-tiret ne sont pas interprétées comme
- options, même si les arguments commencent par un tiret. Cette option de
- configuration vaut <constant>TRUE</constant> par défaut.
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_IGNORECASE</constant>
- ("ignoreCase"), si <constant>TRUE</constant>, fait correspondre
- des alias même s'ils différent en terme de casse. C'est-à-dire,
- "<command>-a</command>" et "<command>-A</command>" seront considérés comme
- des synonymes. Cette option de
- configuration vaut <constant>FALSE</constant> par défaut.
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_RULEMODE</constant>
- ("ruleMode") peut avoir les valeurs
- <constant>Zend_Console_Getopt::MODE_ZEND</constant> ("zend") ou
- <constant>Zend_Console_Getopt::MODE_GNU</constant> ("gnu"). Il
- ne devrait pas être nécessaire d'employer cette option à moins que vous
- n'étendiez la classe avec les formes additionnelles de syntaxe. Les deux modes
- supportés dans la classe <classname>Zend_Console_Getopt</classname> de base
- sont sans équivoque. Si le spécificateur est une chaîne de caractère, la classe
- passe en <constant>MODE_GNU</constant>, autrement elle est en
- <constant>MODE_ZEND</constant>.
- Mais si vous étendez la classe et ajoutez de nouvelles formes de syntaxe, vous
- pouvez avoir à indiquer le mode en utilisant cette option.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Plus d'options de configuration pourront être ajoutées en tant que futurs
- perfectionnements de cette classe.
- </para>
- <para>
- Les deux arguments de la méthode <methodname>setOption()</methodname> sont un nom
- d'option de configuration et une valeur d'option.
- </para>
- <example id="zend.console.getopt.configuration.config.example.setoption">
- <title>Utilisation de setOption()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setOption('ignoreCase', true);
- ]]></programlisting>
- </example>
- <para>
- L'argument de la méthode <methodname>setOptions()</methodname> est un tableau
- associatif. Les clés de ce tableau sont les noms d'option de configuration, et les
- valeurs sont des valeurs de configuration. C'est également le format de tableau utilisé
- par le constructeur de classe. Les valeurs de configuration que vous indiquez sont
- fusionnées avec la configuration courante ; vous n'avez pas à énumérer toutes les
- options.
- </para>
- <example id="zend.console.getopt.configuration.config.example.setoptions">
- <title>Utilisation de setOptions()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setOptions(
- array(
- 'ignoreCase' => true,
- 'dashDash' => false
- )
- );
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
|