Zend_Console_Getopt-Introduction.xml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.console.getopt.introduction">
  5. <title>Einführung</title>
  6. <para>
  7. Die <classname>Zend_Console_Getopt</classname> Klasse hilft Kommandozeilen Anwendungen
  8. Ihre Optionen und Argumente zu Analysieren.
  9. </para>
  10. <para>
  11. Benutzer können Kommandozeilen Argumente definieren wenn die Anwendung
  12. ausgeführt wird. Diese Argumente haben für die Anwendung die Bedeutung,
  13. das Verhalten in einem bestimmten Weg zu Ändern oder Ressourcen auszuwählen,
  14. oder Parameter zu definieren. Viele Optionen haben eine einheitliche Bedeutung
  15. entwickelt wie zum Beispiel <command>--verbose</command> welches die Ausgabe von
  16. zusätzlicher Ausgabe für viele Anwendungen erlaubt. Andere Optionen haben auch
  17. eine Bedeutung die in jeder Anwendung unterschiedlich ist. Zum Beispiel
  18. erlaubt <command>-c</command> unterschiedliche Features in <command>grep</command>,
  19. <command>ls</command>, und <command>tar</command>.
  20. </para>
  21. <para>
  22. Anbei sind einige Definitionen von Ausdrücken. Die übliche Verwendung der
  23. Ausdrücke variiert, aber diese Dokumentation wird die anbei beschriebenen
  24. Definitionen verwenden.
  25. </para>
  26. <itemizedlist>
  27. <listitem>
  28. <para>
  29. "Argument": eine Zeichenkette die in der Kommandozeile dem
  30. Namen des Kommandos folgt. Argumente können Optionen sein, oder auch
  31. ohne Option vorkommen, um eine Ressource zu benennen die das
  32. Kommando verwendet.
  33. </para>
  34. </listitem>
  35. <listitem>
  36. <para>
  37. "Option": ist ein Argument das andeutet dass das Kommando sein
  38. Verhalten in einem bestimmten Weg verändern soll.
  39. </para>
  40. </listitem>
  41. <listitem>
  42. <para>
  43. "Flag": Der erste Teil einer Option, identifiziert den Zweck
  44. der Option. Einem Flag werden normalerweise ein oder zwei Bindestriche
  45. vorangestellt (<command>-</command> oder <command>--</command>).
  46. Ein einzelner wird einem Einzel-Zeichen Flag vorangestellt oder einem
  47. Verbund von Einzel-Zeichen Flags. Ein doppelter Bindestrich wird einem
  48. Mehr-Zeichen Flag vorangestellt. Lange Flags können nicht gebündelt werden.
  49. </para>
  50. </listitem>
  51. <listitem>
  52. <para>
  53. "Parameter": Der zweite Teil einer Option; Ein Datenwert der ein Flag
  54. begleitet, wenn er zu einer Option passt. Zum Beispiel kann ein Kommando
  55. eine <command>--verbose</command> Option akzeptieren, aber typischerweise
  56. hat diese Option keine Parameter. Trotzdem wird eine Option wie
  57. <command>--user</command> immer einen nachfolgenden Parameter benötigen.
  58. </para>
  59. <para>
  60. Ein Parameter kann als separates Argument angegeben werden der einem
  61. Flag Argument folgt, oder als Teil der gleichen Zeichenkette des
  62. Arguments, getrennt vom Flag durch ein Gleichheitszeichen
  63. (<command>=</command>). Die zweite Form wird nur bei langen Flags
  64. unterstützt. Zum Beispiel, <command>-u username</command>,
  65. <command>--user username</command>, und <command>--user=username</command>
  66. sind Formen welche durch <classname>Zend_Console_Getopt</classname>
  67. unterstützt werden.
  68. </para>
  69. </listitem>
  70. <listitem>
  71. <para>
  72. "Verbund": Mehrere Einzel-Zeichen Flags kombiniert in einem
  73. einzelnen Argument als Zeichenkette und vorangestellt durch einen
  74. einzelnen Bindestrich. Zum Beispiel "<command>ls -1str</command>"
  75. benutzt einen Verbund von vier kurzen Flags. Dieses Kommando ist
  76. identisch mit "<command>ls -1 -s -t -r</command>". Nur
  77. Einzel-Zeichen Flags können kombiniert werden. Ein Verbund von
  78. langen Flags kann nicht erstellt werden.
  79. </para>
  80. </listitem>
  81. </itemizedlist>
  82. <para>
  83. Zum Beispiel <command>mysql --user=root mydatabase</command>.
  84. <command>mysql</command> ist ein <emphasis>Kommando</emphasis>,
  85. <command>--user=root</command> ist eine <emphasis>Option</emphasis>,
  86. <command>--user</command> ist ein <emphasis>Flag</emphasis>,
  87. <command>root</command> ist ein <emphasis>Parameter</emphasis> für diese Option
  88. und <command>mydatabase</command> ist ein Argument aber nicht eine Option laut
  89. unserer Definition.
  90. </para>
  91. <para>
  92. <classname>Zend_Console_Getopt</classname> bietet ein Interface um zu definieren welche
  93. Flags für die Anwendung gültig sind, das einen Fehler und Benutzungshinweise ausgibt
  94. wenn ein ungültiges Flag verwendet wird, und dem Code der Anwendung bekanntgibt
  95. welche Flags der Benutzer definiert hat.
  96. </para>
  97. <note>
  98. <title>Getopt ist kein Framework für eine Anwendung</title>
  99. <para>
  100. <classname>Zend_Console_Getopt</classname> kann <emphasis>nicht</emphasis>
  101. die Bedeutung der Flags und Parameter interpretieren, noch implementiert
  102. diese Klasse einen Anwendungsworkflow oder ruft Anwendungscode auf.
  103. Diese Aktionen müssen im eigenen Anwendungscode integriert werden.
  104. Die <classname>Zend_Console_Getopt</classname> Klasse kann dazu verwendet werden um
  105. die Kommandozeile zu analysieren und bietet Objekt-Orientierte Methoden
  106. für die Abfrage welche Optionen durch den Benutzer angegeben wurden.
  107. Aber der Code um diese Informationen zu Verwenden und Teile der eigenen
  108. Anwendung aufzurufen sollten in einer anderen <acronym>PHP</acronym> Klasse sein.
  109. </para>
  110. </note>
  111. <para>
  112. Die folgende Sektion beschreibt die Verwendung von
  113. <classname>Zend_Console_Getopt</classname>.
  114. </para>
  115. </sect1>