Zend_Console_Getopt-Rules.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.console.getopt.rules">
  5. <title>Déclarer les règles Getopt</title>
  6. <para>
  7. Le constructeur de la classe <classname>Zend_Console_Getopt</classname> prend un à trois
  8. arguments. Le premier argument déclare quelles options sont supportées par votre
  9. application. Cette classe supporte des formes de syntaxe alternatives pour déclarer les
  10. options. Voir les sections ci-dessous pour le format et l'utilisation de ces formes de
  11. syntaxe.
  12. </para>
  13. <para>
  14. Le constructeur prend deux arguments supplémentaires, qui sont facultatifs. Le
  15. deuxième argument peut contenir les arguments de la ligne de commande. La valeur par défaut
  16. est <varname>$_SERVER['argv']</varname>.
  17. </para>
  18. <para>
  19. Le troisième argument du constructeur peut contenir des options de configuration pour
  20. adapter le comportement de <classname>Zend_Console_Getopt</classname>. Voir la section
  21. <link linkend="zend.console.getopt.configuration.config">Ajouter une
  22. configuration</link> pour la référence des options disponibles.
  23. </para>
  24. <sect2 id="zend.console.getopt.rules.short">
  25. <title>Déclarer des options avec la syntaxe courte</title>
  26. <para>
  27. <classname>Zend_Console_Getopt</classname> supporte une syntaxe compacte semblable à
  28. cela employée par <acronym>GNU</acronym> Getopt (voir
  29. <ulink
  30. url="http://www.gnu.org/software/libc/manual/html_node/Getopt.html">http://www.gnu.org/software/libc/manual/html_node/Getopt.html</ulink>).
  31. Cette syntaxe supporte seulement des drapeaux courts (1 seul caractère). Dans une
  32. chaîne de caractère unique, vous entrez chacune des lettres qui correspondent aux
  33. drapeaux supportés par votre application. Une lettre suivie d'un caractère deux points
  34. ("<emphasis>:</emphasis>") indique un drapeau qui exige un paramètre.
  35. </para>
  36. <example id="zend.console.getopt.rules.short.example">
  37. <title>Utiliser la syntaxe courte</title>
  38. <programlisting language="php"><![CDATA[
  39. $opts = new Zend_Console_Getopt('abp:');
  40. ]]></programlisting>
  41. </example>
  42. <para>
  43. L'exemple ci-dessus montre l'utilisation de <classname>Zend_Console_Getopt</classname>
  44. pour déclarer que des options peuvent être données en tant que "<command>-a</command>",
  45. "<command>-b</command>" ou "<command>-p</command>". Le dernier drapeau exige un
  46. paramètre.
  47. </para>
  48. <para>
  49. La syntaxe courte est limitée aux drapeaux courts (1 seul caractère). Les alias, les
  50. types des paramètres, et les messages d'aide ne sont pas supportés dans la syntaxe
  51. courte.
  52. </para>
  53. </sect2>
  54. <sect2 id="zend.console.getopt.rules.long">
  55. <title>Déclarer des options avec la syntaxe longue</title>
  56. <para>
  57. Une syntaxe différente avec plus de possibilités est également disponible. Cette
  58. syntaxe permet d'indiquer des alias pour les drapeaux, les types de paramètres
  59. d'option, et aussi des messages d'aide pour décrire l'utilisation à l'utilisateur. Au
  60. lieu d'utiliser une chaîne de caractère unique comme pour la syntaxe courte, la syntaxe
  61. longue emploie un tableau associatif comme premier argument du constructeur pour
  62. déclarer les options.
  63. </para>
  64. <para>
  65. La clé de chaque élément du tableau associatif est une chaîne avec un format qui
  66. nomme le drapeau, avec tous ses alias, séparés par le symbole "<emphasis>|</emphasis>".
  67. Après la série des alias, si l'option exige un paramètre, il y a un symbole égal
  68. ("<emphasis>=</emphasis>") avec une lettre qui représente le <emphasis>type</emphasis>
  69. du paramètre :
  70. </para>
  71. <itemizedlist>
  72. <listitem>
  73. <para>
  74. "<emphasis>=s</emphasis>" pour un paramètre de type chaîne de caractère.
  75. </para>
  76. </listitem>
  77. <listitem>
  78. <para>
  79. "<emphasis>=w</emphasis>" pour un paramètre de type mot (une chaîne de caractère
  80. qui ne contient pas d'espace).
  81. </para>
  82. </listitem>
  83. <listitem>
  84. <para>"<emphasis>=i</emphasis>" pour un paramètre de type entier (integer).</para>
  85. </listitem>
  86. </itemizedlist>
  87. <para>
  88. Si le paramètre est optionnel, on utilise le tiret ("<emphasis>-</emphasis>") au lieu du
  89. symbole égal.
  90. </para>
  91. <para>
  92. La valeur de chaque élément dans le tableau associatif est un message d'aide pour
  93. décrire à l'utilisateur comment employer votre programme.
  94. </para>
  95. <example id="zend.console.getopt.rules.long.example">
  96. <title>Utiliser la syntaxe longue</title>
  97. <programlisting language="php"><![CDATA[
  98. $opts = new Zend_Console_Getopt(
  99. array(
  100. 'abricot|a' => 'option abricot, sans parametres',
  101. 'banane|b=i' => 'option banane, avec un parametre entier obligatoire',
  102. 'pear|p-s' => 'option pear, avec un parametre chaîne optionel'
  103. )
  104. );
  105. ]]></programlisting>
  106. </example>
  107. <para>
  108. Dans l'exemple ci-dessus, il y a trois options. "<command>--abricot</command>" et
  109. "<command>-a</command>" sont des alias l'un pour l'autre et l'option ne prend pas de
  110. paramètres. "<command>--banane</command>" et "<command>-b</command>" sont des alias
  111. l'un pour l'autre et l'option prend un paramètre obligatoire de type entier. Enfin,
  112. "<command>--pear</command>" et "<command>-p</command>" sont des alias l'un pour l'autre
  113. et l'option prend un paramètre optionnel de type chaîne de caractère.
  114. </para>
  115. </sect2>
  116. </sect1>