Die Zend_Console_Getopt
Klasse hilft Kommandozeilen Anwendungen
Ihre Optionen und Argumente zu Analysieren.
Benutzer können Kommandozeilen Argumente definieren wenn die Anwendung ausgeführt wird. Diese Argumente haben für die Anwendung die Bedeutung, das Verhalten in einem bestimmten Weg zu Ändern oder Ressourcen auszuwählen, oder Parameter zu definieren. Viele Optionen haben eine einheitliche Bedeutung entwickelt wie zum Beispiel --verbose welches die Ausgabe von zusätzlicher Ausgabe für viele Anwendungen erlaubt. Andere Optionen haben auch eine Bedeutung die in jeder Anwendung unterschiedlich ist. Zum Beispiel erlaubt -c unterschiedliche Features in grep, ls, und tar.
Anbei sind einige Definitionen von Ausdrücken. Die übliche Verwendung der Ausdrücke variiert, aber diese Dokumentation wird die anbei beschriebenen Definitionen verwenden.
-
"Argument": eine Zeichenkette die in der Kommandozeile dem Namen des Kommandos folgt. Argumente können Optionen sein, oder auch ohne Option vorkommen, um eine Ressource zu benennen die das Kommando verwendet.
-
"Option": ist ein Argument das andeutet dass das Kommando sein Verhalten in einem bestimmten Weg verändern soll.
-
"Flag": Der erste Teil einer Option, identifiziert den Zweck der Option. Einem Flag werden normalerweise ein oder zwei Bindestriche vorangestellt (- oder --). Ein einzelner wird einem Einzel-Zeichen Flag vorangestellt oder einem Verbund von Einzel-Zeichen Flags. Ein doppelter Bindestrich wird einem Mehr-Zeichen Flag vorangestellt. Lange Flags können nicht gebündelt werden.
-
"Parameter": Der zweite Teil einer Option; Ein Datenwert der ein Flag begleitet, wenn er zu einer Option passt. Zum Beispiel kann ein Kommando eine --verbose Option akzeptieren, aber typischerweise hat diese Option keine Parameter. Trotzdem wird eine Option wie --user immer einen nachfolgenden Parameter benötigen.
Ein Parameter kann als separates Argument angegeben werden der einem Flag Argument folgt, oder als Teil der gleichen Zeichenkette des Arguments, getrennt vom Flag durch ein Gleichheitszeichen (=). Die zweite Form wird nur bei langen Flags unterstützt. Zum Beispiel, -u username, --user username, und --user=username sind Formen welche durch
Zend_Console_Getopt
unterstützt werden. -
"Verbund": Mehrere Einzel-Zeichen Flags kombiniert in einem einzelnen Argument als Zeichenkette und vorangestellt durch einen einzelnen Bindestrich. Zum Beispiel "ls -1str" benutzt einen Verbund von vier kurzen Flags. Dieses Kommando ist identisch mit "ls -1 -s -t -r". Nur Einzel-Zeichen Flags können kombiniert werden. Ein Verbund von langen Flags kann nicht erstellt werden.
Zum Beispiel mysql --user=root mydatabase. mysql ist ein Kommando, --user=root ist eine Option, --user ist ein Flag, root ist ein Parameter für diese Option und mydatabase ist ein Argument aber nicht eine Option laut unserer Definition.
Zend_Console_Getopt
bietet ein Interface um zu definieren welche
Flags für die Anwendung gültig sind, das einen Fehler und Benutzungshinweise ausgibt
wenn ein ungültiges Flag verwendet wird, und dem Code der Anwendung bekanntgibt
welche Flags der Benutzer definiert hat.
Getopt ist kein Framework für eine Anwendung
Zend_Console_Getopt
kann nicht
die Bedeutung der Flags und Parameter interpretieren, noch implementiert
diese Klasse einen Anwendungsworkflow oder ruft Anwendungscode auf.
Diese Aktionen müssen im eigenen Anwendungscode integriert werden.
Die Zend_Console_Getopt
Klasse kann dazu verwendet werden um
die Kommandozeile zu analysieren und bietet Objekt-Orientierte Methoden
für die Abfrage welche Optionen durch den Benutzer angegeben wurden.
Aber der Code um diese Informationen zu Verwenden und Teile der eigenen
Anwendung aufzurufen sollten in einer anderen PHP Klasse sein.
Die folgende Sektion beschreibt die Verwendung von
Zend_Console_Getopt
.