Zend_Console_Getopt-Introduction.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 15103 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.console.getopt.introduction">
  5. <title>Introduction</title>
  6. <para>
  7. La classe <classname>Zend_Console_Getopt</classname> aide les applications lancées en ligne
  8. de commande à analyser les options et arguments.
  9. </para>
  10. <para>
  11. Les utilisateurs peuvent spécifier des arguments en ligne de commande quand ils
  12. exécutent votre application. Ces arguments ont du sens dans l'application : changer son
  13. comportement, choisir des ressources, ou spécifier des paramètres. Beaucoup d'options ont
  14. une signification usuelle, par exemple "<code>--verbose</code>" permet la production
  15. d'informations supplémentaires dans beaucoup d'applications. D'autres options peuvent avoir
  16. un sens qui est différent pour chaque application. Par exemple, "-c" prend des sens
  17. différents lorsqu'il est utilisé dans <command>grep</command>, <command>ls</command>, et
  18. <command>tar</command>.
  19. </para>
  20. <para>
  21. Nous avons ci-dessous quelques définitions de termes. L'usage commun des termes
  22. varie, mais cette documentation utilisera les définitions ci-dessous.
  23. </para>
  24. <itemizedlist>
  25. <listitem>
  26. <para>
  27. "<code>argument</code>" : une chaîne de caractères (<code>string</code>) qui
  28. apparaît dans la ligne de commande après le nom de la commande. Les arguments
  29. peuvent être des options ou bien peut apparaître sans option, appeler des
  30. ressources sur lesquelles la commande agit.
  31. </para>
  32. </listitem>
  33. <listitem>
  34. <para>
  35. "<code>option</code>" : un argument qui signifie que la commande va changer
  36. son comportement par défaut d'une manière quelconque.
  37. </para>
  38. </listitem>
  39. <listitem>
  40. <para>
  41. "<code>flag</code>" (drapeau) : la première partie d'une option, identifie le
  42. but de l'option. Un drapeau est précédé conventionnellement par un ou deux tirets
  43. ("<code>-</code>" or "<code>--</code>"). Un drapeau court comporte un caractère
  44. unique. Un drapeau long est une chaîne de plusieurs caractères. Un tiret simple
  45. précède un drapeau court ou un groupe de drapeaux courts. Un tiret double précède
  46. un drapeau long. Les drapeaux longs ne peuvent pas être groupés.
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. "<code>parameter</code>" (paramètre) : la seconde partie d'une option ; une
  52. donnée qui peut accompagner un drapeau, si c'est applicable à l'option donnée. Par
  53. exemple, beaucoup de commandes acceptent "<code>--verbose</code>", mais typiquement
  54. cette option n'a aucun paramètre. Cependant, une option comme "<code>--user</code>
  55. a presque toujours besoin d'un paramètre à sa suite.
  56. </para>
  57. <para>
  58. Un paramètre peut être donné comme un argument séparé après un argument de
  59. drapeau, ou comme faisant partie de la même chaîne de caractères, séparé du drapeau
  60. par le symbole égal ("<code>=</code>"). La dernière forme est autorisée seulement
  61. avec des drapeaux longs. Par exemple, <code>-u username</code>, <code>--user
  62. username</code>, et <code>--user=username</code> sont des formats supportés par
  63. <classname>Zend_Console_Getopt</classname>.
  64. </para>
  65. </listitem>
  66. <listitem>
  67. <para>
  68. "cluster" (groupe) : les drapeaux courts peuvent être combinés dans une
  69. chaîne de caractère unique précédée par un tiret simple. Par exemple, "
  70. <command>ls -1str</command>" emploie un groupe de quatre drapeaux courts. Cette
  71. commande est équivalente à "
  72. <command>ls -1 -s -t -r</command>". Seuls les drapeaux courts peuvent être groupés.
  73. Vous ne pouvez pas faire un groupe de drapeaux longs.
  74. </para>
  75. </listitem>
  76. </itemizedlist>
  77. <para>
  78. Par exemple, dans "<code>mysql --user=root mabase</code>", "<code>mysql</code>" est
  79. la <emphasis>commande</emphasis>, "<code>--user=root</code>" est une
  80. <emphasis>option</emphasis>, "<code>--user</code>" est un <emphasis>drapeau</emphasis>,
  81. "<code>root</code>" est un <emphasis>paramètre</emphasis> de l'option, et
  82. "<code>mabase</code>" est un argument mais pas une option dans notre définition.
  83. </para>
  84. <para>
  85. <classname>Zend_Console_Getopt</classname> fournit une interface pour déclarer quels
  86. drapeaux sont valides pour votre application, produit une erreur et un message s'ils
  87. emploient un drapeau invalide, et transmet à votre application les drapeaux spécifiés
  88. par l'utilisateur.
  89. </para>
  90. <note>
  91. <title>Getopt n'est pas une application framework</title>
  92. <para>
  93. <classname>Zend_Console_Getopt</classname> <emphasis>n'</emphasis>interprète
  94. <emphasis>pas</emphasis> le sens des drapeaux ou des paramètres, cette classe n'exécute
  95. pas non plus de processus d'application ou n'invoque pas le code d'application. Vous
  96. devez implémenter ces actions dans votre propre code d'application. Vous pouvez
  97. utiliser la classe <classname>Zend_Console_Getopt</classname> pour analyser la ligne
  98. d'instruction et fournir des méthodes orientées objet pour savoir quelles options ont
  99. été données par un utilisateur, mais le code pour utiliser ces données pour appeler les
  100. parties de votre application devra être dans une autre classe PHP.
  101. </para>
  102. </note>
  103. <para>
  104. Les sections suivantes décrivent l'utilisation de
  105. <classname>Zend_Console_Getopt</classname>.
  106. </para>
  107. </sect1>