PageRenderTime 43ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/docs/languages/de/modules/zend.console.getopt.fetching.rst

https://github.com/gullij/zf2-documentation
ReStructuredText | 142 lines | 97 code | 45 blank | 0 comment | 0 complexity | 2e44d8cdfb1105cee90096d00048062e MD5 | raw file
Possible License(s): BSD-3-Clause
  1. .. EN-Revision: none
  2. .. _zend.console.getopt.fetching:
  3. Holen von Optionen und Argumenten
  4. =================================
  5. Nach dem Erstellen der Optionen welche das ``Zend\Console\Getopt`` Objekt erkennen sollte, und der Übergabe von
  6. Argumenten von der Kommandozeile oder einem Array, kann das Objekt abgefragt werden um herauszufinden welche
  7. Optionen durch den Benutzer mit einem gegebenen Kommandozeilena Aufruf des Programms angegeben wurden. Die Klasse
  8. implementiert magische Methoden damit Optionen anhand Ihres Namens abgefragt werden können.
  9. Das Analysieren der Daten wird verzögert, bis zur ersten Abfrage die am ``Zend\Console\Getopt`` Objekt
  10. durchgeführt wird um herauszufinden ob eine Option angegeben wurde. Das erlaubt die Anwendung einiger
  11. Methodenaufrufe zur Konfiguration der Optionen, Argumente, Hilfstexte und Konfigurationsoptionen bevor das
  12. Analysieren durchgeführt wird.
  13. .. _zend.console.getopt.fetching.exceptions:
  14. Handhaben von Getopt Ausnahmen
  15. ------------------------------
  16. Wenn ein Benutzer irgendeine ungültige Option auf der Kommandozeile angibt, wirft die analysierende Funktion eine
  17. ``Zend\Console_Getopt\Exception``. Diese Ausnahme kann im Code der Anwendung abgefangen werden. Die ``parse()``
  18. Methode kann verwendet werden um das Objekt dazu zu zwingen die Argumente zu analysieren. Das ist deswegen
  19. nützlich weil ``parse()`` in einen **try** Block eingebettet werden kann. Wenn es erfolgreich ist, kann man sicher
  20. sein das die Analyse keine weiteren Ausnahmen werfen wird. Die geworfene Ausnahme hat eine eigene Methode
  21. ``getUsageMessage()``, welche die formatierten Hinweise für die Verwendung aller definierten Optionen zurückgibt.
  22. .. _zend.console.getopt.fetching.exceptions.example:
  23. .. rubric:: Getopt Ausnahmen auffangen
  24. .. code-block:: php
  25. :linenos:
  26. try {
  27. $opts = new Zend\Console\Getopt('abp:');
  28. $opts->parse();
  29. } catch (Zend\Console_Getopt\Exception $e) {
  30. echo $e->getUsageMessage();
  31. exit;
  32. }
  33. Die Fälle in denen die Analyse eine Ausnahme werden sind unter anderem:
  34. - Die gegebene Option wird nicht erkannt.
  35. - Die Option benötigt einen Parameter, aber es wurde keiner angegeben.
  36. - Der Parameter der Option ist vom falschen Typ. Z.B. eine nicht nummerische Zeichenkette obwohl ein Integer
  37. benötigt wird.
  38. .. _zend.console.getopt.fetching.byname:
  39. Optionen durch Ihren Namen finden
  40. ---------------------------------
  41. Die ``getOption()`` Methode kann verwendet werden um den Wert einer Option abzufragen. Wenn die Option einen
  42. Parameter hatte, wird diese Methode den Wert dieses Parameters zurückgeben. Wenn die Option keinen Parameter
  43. hatte, aber der Benutzer ihn auf der Kommandozeile definiert hat, gibt die Methode ``TRUE`` zurück. Andernfalls
  44. gibt die Methode ``NULL`` zurück.
  45. .. _zend.console.getopt.fetching.byname.example.setoption:
  46. .. rubric:: Verwenden von getOption()
  47. .. code-block:: php
  48. :linenos:
  49. $opts = new Zend\Console\Getopt('abp:');
  50. $b = $opts->getOption('b');
  51. $p_parameter = $opts->getOption('p');
  52. Alternativ kann die magische ``__get()`` Funktion verwendet werden um der Wert einer Option zu erhalten wie wenn
  53. dieser eine Variable der Klasse wäre. Die magische ``__isset()`` Methode ist auch implementiert.
  54. .. _zend.console.getopt.fetching.byname.example.magic:
  55. .. rubric:: Verwenden der magischen \__get() und \__isset() Methoden
  56. .. code-block:: php
  57. :linenos:
  58. $opts = new Zend\Console\Getopt('abp:');
  59. if (isset($opts->b)) {
  60. echo "Die Option b ist da.\n";
  61. }
  62. $p_parameter = $opts->p; // Null wenn nicht gesetzt
  63. Wenn die Optionen mit Aliasen definiert wurden, kann jeder der Aliase für eine Option in den obigen Methoden
  64. verwendet werden.
  65. .. _zend.console.getopt.fetching.reporting:
  66. Optionen berichten
  67. ------------------
  68. Es gibt einige Methoden um das komplette Set an Optionen welches ein Benutzer an der Kommandozeile angegeben hat zu
  69. berichten.
  70. - Als Zeichenkette: verwenden der ``toString()`` Methode. Die Optionen werden als Leerzeichen-getrennte
  71. Zeichenkette von ``Flag=Wert`` Paaren zurückgegeben. Der Wert einer Option welche keinen Parameter hat, ist die
  72. wörtliche Zeichenkette "``TRUE``".
  73. - Als Array: verwenden der ``toArray()`` Methode. Die Optionen werden in einem einfachen Integer-Indizierten Array
  74. von Zeichenketten zurückgegeben, die Flag-Zeichenketten gefolgt von den Parameter-Zeichenketten, wenn vorhanden.
  75. - Als Zeichenkette welche *JSON* Daten enthält: verwenden der ``toJson()`` Methode.
  76. - Als Zeichenkette welche *XML* Daten enthält: verwenden der ``toXml()`` Methode.
  77. In allen obigen Auflistungsmethoden, ist die Flag-Zeichenkette die erste Zeichenkette in der entsprechenden Liste
  78. von Aliasen. Wenn zum Beispiel die Aliase der Option als ``verbose|v`` definiert sind, wird die erste Zeichenkette
  79. ``verbose`` als kanonischer Name der Option verwendet. Der Name des Optionsflags enthält nicht die vorangestellten
  80. Bindestriche.
  81. .. _zend.console.getopt.fetching.remainingargs:
  82. Nicht-Options Argumente erhalten
  83. --------------------------------
  84. Nachdem die Argumente der Option und deren Parameter von der Kommandozeile analysiert wurden, können zusätzliche
  85. Argumente zurück bleiben. Diese Argumente können abgefragt werden durch Verwendung der ``getRemainingArgs()``
  86. Methode. Diese Methode gibt ein Array von Zeichenketten zurück welche nicht Teil irgendeiner Option waren.
  87. .. _zend.console.getopt.fetching.remainingargs.example:
  88. .. rubric:: Verwenden von getRemainingArgs()
  89. .. code-block:: php
  90. :linenos:
  91. $opts = new Zend\Console\Getopt('abp:');
  92. $opts->setArguments(array('-p', 'p_parameter', 'filename'));
  93. $args = $opts->getRemainingArgs(); // Rückgabe array('filename')
  94. ``Zend\Console\Getopt`` unterstützt die *GNU* Konvention das ein Argument welches auf einem Doppelten Bindestrich
  95. besteht das Ende der Optionen bezeichnet. Jedes Argument welches diesem Bezeichner folgt, muß als
  96. Nicht-Options-Argument behandelt werden. Das ist nützlich wenn ein Nicht-Options-Argument vorhanden ist welches
  97. mit einem Bindestrich anfängt. Zum Beispiel: "``rm -- -filename-with-dash``".