| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.console.getopt.rules">
- <title>Definieren von Getopt Regeln</title>
- <para>
- Der Constructor für die <classname>Zend_Console_Getopt</classname> Klasse nimmt ein bis drei
- Argumente. Das erste Argument definiert welche Optionen durch die Anwendung unterstützt
- werden. Diese Klasse unterstützt alternative Syntaxformen für das definieren der Optionen.
- Die nächsten Sektionen geben Auskunft über das Format und die Verwendung dieser
- Syntaxformen.
- </para>
- <para>
- Der Constructor nimmt zwei weitere Argumente, welche optional sind. Das zweite Argument kann
- Kommandozeilen Argumente enthalten. Sein Standardwert ist
- <varname>$_SERVER['argv']</varname>.
- </para>
- <para>
- Das dritte Argument des Constructors kann Konfigurationsoptionen enthalten um das Verhalten
- von <classname>Zend_Console_Getopt</classname> anzupassen. Siehe <link
- linkend="zend.console.getopt.configuration.config">Konfiguration hinzufügen</link> für
- eine Referenz der möglichen Optionen.
- </para>
- <sect2 id="zend.console.getopt.rules.short">
- <title>Optionen mit der kurzen Syntax definieren</title>
- <para>
- <classname>Zend_Console_Getopt</classname> unterstützt eine kompakte Syntax wie Sie
- durch <acronym>GNU</acronym> Getopt verwendet wird (siehe <ulink
- url="http://www.gnu.org/software/libc/manual/html_node/Getopt.html">http://www.gnu.org/software/libc/manual/html_node/Getopt.html</ulink>).
- Diese Syntax unterstützt nur Einzel-Zeichen Flags. In einer einzelnen Zeichenkette, wird
- jeder Buchstabe angegeben der einem Flag entspricht das durch die Anwendung unterstützt
- wird. Der Buchstabe, gefolgt von einem Doppelpunkt Zeichen (<emphasis>:</emphasis>)
- zeigt ein Flag das einen Parameter benötigt.
- </para>
- <example id="zend.console.getopt.rules.short.example">
- <title>Verwendung der kurzen Syntax</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- ]]></programlisting>
- </example>
- <para>
- Das obige Beispiel zeigt die Verwendung von <classname>Zend_Console_Getopt</classname>
- um die Optionen zu definieren die als <command>-a</command>, <command>-b</command>,
- oder <command>-p</command> angegeben werden können. Das letzte Flag benötigt
- einen Parameter.
- </para>
- <para>
- Die kurze Syntax ist limitiert auf Flags mit einzelnen Zeichen.
- Aliase, Parametertypen und Hilfszeichenketten werden in der
- kurzen Syntax nicht unterstützt.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.rules.long">
- <title>Optionen mit der langen Syntax definieren</title>
- <para>
- Eine andere Syntax mit mehr Möglichkeiten ist auch vorhanden. Diese
- Syntax ermöglicht es Aliase für Flags, Typen von Optionsparametern
- und auch Hilfszeichenkette zu definieren um die Verwendung für den
- Benutzer zu beschreiben. Statt einer einzelnen Zeichenkette die in der
- kurzen Syntax verwendet wird um die Optionen zu definieren, verwendet
- die lange Syntax ein assoziatives Array als erstes Argument für den
- Constructor.
- </para>
- <para>
- Der Schlüssel jeden Elements des assoziativen Array ist eine
- Zeichenkette mit einem Format dass das Flag benennt, mit jedem Alias,
- getrennt durch ein Pipe Symbol ("<emphasis>|</emphasis>"). Dieser Serie von
- Flag Aliasen folgende, wenn die Option einen Parameter benötigt, ist
- ein Gleichheitszeichen ("<emphasis>=</emphasis>") mit einem Buchstaben der
- für den <emphasis>Typ</emphasis> dieses Parameters steht:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- "<emphasis>=s</emphasis>" für einen Zeichenketten Parameter
- </para>
- </listitem>
- <listitem>
- <para>
- "<emphasis>=w</emphasis>" für einen Wort Parameter
- (eine Zeichenkette die keine Leerzeichen enthält)
- </para>
- </listitem>
- <listitem>
- <para>
- "<emphasis>=i</emphasis>" für einen Integer Parameter
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Wenn der Parameter optional ist, kann ein Bindestrich ("<emphasis>-</emphasis>")
- statt des Gleichheitszeichens verwendet werden.
- </para>
- <para>
- Der Wert jeden Elements in diesem assiziativen Array ist eine
- Hilfszeichenkette um dem Benutzer zu beschreiben wie das Programm
- verwendet werden kann.
- </para>
- <example id="zend.console.getopt.rules.long.example">
- <title>Verwendung der langen Syntax</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt(
- array(
- 'apfel|a' => 'Apfel Option, ohne Parameter',
- 'banane|b=i' => 'Bananen Option, mit benötigtem Integer Parameter',
- 'pfirsich|p-s' => 'Pfirsich Option, mit optionalem String Parameter'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- In der obigen Beispieldefinition, sind drei Optionen.
- <command>--apfel</command> und <command>-a</command> sind Aliase füreinander,
- und diese Option nimmt keinen Parameter.
- <command>--banane</command> und <command>-b</command> sind Aliase füreinander,
- und diese Option nimmt einen notwendigen Integer Parameter.
- Letztendlich, <command>--pfirsich</command> und <command>-p</command> sind
- Aliase füreinander, und diese Option kann einen Optionalen
- Zeichenketten Parameter annehmen.
- </para>
- </sect2>
- </sect1>
|