| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20765 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.console.getopt.configuration">
- <title>Konfigurieren von Zend_Console_Getopt</title>
- <sect2 id="zend.console.getopt.configuration.addrules">
- <title>Regeln für das Hinzufügen von Optionen</title>
- <para>
- Man kann mehr Optionsregeln hinzufügen, zusätzlich zu denen die
- schon im
- <classname>Zend_Console_Getopt</classname>
- Constructor definiert wurden,
- durch Verwendung der
- <methodname>addRules()</methodname>
- Methode. Das Argument für
- <methodname>addRules()</methodname>
- ist das gleiche wie das erste Argument für den
- Constructor der Klasse. Es ist entweder eine Zeichenkette im Format der
- kurzen Syntax wie für das Definieren für Optionen definiert, oder ein
- assoziatives Array im Format der langen Syntax wie für das Definieren
- für Optionen definiert. Siehe
- <link linkend="zend.console.getopt.rules">Definieren von GetOpt Regeln</link>
- für Details über die Syntax für die Definition von Optionen.
- </para>
- <example id="zend.console.getopt.configuration.addrules.example">
- <title>Verwenden von addRules()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->addRules(
- array(
- 'verbose|v' => 'Druckt zusätzliche Ausgaben'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Das obige Beispiel zeigt das hinzufügen der
- <command>--verbose</command>
- Option mit einem Alias von
- <command>-v</command>
- zu einem Set von Optionen
- welche bereits im Aufruf durch den Constructor definiert wurden.
- Man kann kurze Format Optionen und lange Format Optionen in der
- gleichen Instanz von
- <classname>Zend_Console_Getopt</classname>
- vermischen.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addhelp">
- <title>Hilfstexte hinzufügen</title>
- <para>
- Zusätzlich zum Definieren von Hilfstexten bei der Definition
- von Optionsregeln im langen Format, können Hilfstexte
- mit Optionsregeln verknüpft werden durch Verwendung der
- <methodname>setHelp()</methodname>
- Methode. Das Argument für die
- <methodname>setHelp()</methodname>
- Methode ist ein assoziatives Array, in welchen der
- Schlüssel ein Flag ist, und der Wert der betreffende Hilfetext.
- </para>
- <example id="zend.console.getopt.configuration.addhelp.example">
- <title>Verwenden von setHelp()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setHelp(
- array(
- 'a' => 'Apfel Option, ohne Parameter',
- 'b' => 'Bananen Option, mit benötigtem Integer Parameter',
- 'p' => 'Pfirsich Option, mit optionalem Zeichenketten Parameter'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Wenn Optionen mit Aliasen definiert wurden, kann jeder dieser Aliase
- als Schlüssel für das assizoative Array verwendet werden.
- </para>
- <para>
- Die
- <methodname>setHelp()</methodname>
- Methode ist der einzige Weg um einen
- Hilfetext zu definieren wenn die Optionen mit der kurzen Syntax definiert
- wurden.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addaliases">
- <title>Aliase für Optionen hinzufügen</title>
- <para>
- Aliase für Optionen können mit der
- <methodname>setAliases()</methodname>
- Methode
- definiert werden. Das Argument ist ein assoziatives Array, dessen
- Schlüssel ein zuvor definiertes Flag, und dessen Wert ein neuer
- Alias für dieses Flag ist. Diese Aliase werden mit jedem existierenden
- Alias für dieses Flag gemischt. Mit anderen Worten, die zuvor
- definierten
- Aliase sind noch immer in Verwendung.
- </para>
- <para>
- Ein Alias kann nur einmal definiert werden. Wenn versucht wird einen
- Alias nochmals zu
- definieren wird eine
- <classname>Zend_Console_Getopt_Exception</classname>
- geworfen.
- </para>
- <example id="zend.console.getopt.configuration.addaliases.example">
- <title>Verwenden von setAliases()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setAliases(
- array(
- 'a' => 'apple',
- 'a' => 'apfel',
- 'p' => 'pfirsich'
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Im obigen Beispiel sind, nach Definition der Aliase,
- <command>-a</command>
- ,
- <command>--apple</command>
- und
- <command>--apfel</command>
- Aliase füreinander.
- Auch
- <command>-p</command>
- und
- <command>--pfirsich</command>
- sind füreinander
- Aliase.
- </para>
- <para>
- Die
- <methodname>setAliases()</methodname>
- Methode ist der einzige Weg um Aliase
- zu definieren wenn die Optionen mit der kurzen Syntax definiert wurden.
- </para>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.addargs">
- <title>Argument Listen hinzufügen</title>
- <para>
- Standardmäßig verwendet
- <classname>Zend_Console_Getopt</classname>
- <varname>$_SERVER['argv']</varname>
- für die Analyse des Arrays von
- Kommandozeilen Argumenten. Alternativ kann das Array mit Argumenten
- als zweites Argument dem Constructor angegeben werden. Letztendlich
- können zusätzliche Argumente zu den bereits in Verwendung
- befindlichen
- hinzugefügt werden, durch Verwendung der
- <methodname>addArguments()</methodname>
- Methode, oder es kann das aktuelle Array von Argumenten
- ersetzt werden mit Hilfe der
- <methodname>setArguments()</methodname>
- Methode.
- In beiden Fällen ist der Parameter für diese Methoden ein einfaches
- Array von Zeichenketten, und die letztere Methode substituiert das
- Array für
- seine aktuellen Argumente.
- </para>
- <example id="zend.console.getopt.configuration.addargs.example">
- <title>Verwenden von addArguments() und setArguments()</title>
- <programlisting language="php"><![CDATA[
- // Normalerweise verwendet der Constructor $_SERVER['argv']
- $opts = new Zend_Console_Getopt('abp:');
- // Ein Array zu den bestehenden Argumenten hinzufügen
- $opts->addArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
- // Ein neues Array als Ersatz für die bestehenden Argumente
- $opts->setArguments(array('-a', '-p', 'p_parameter', 'non_option_arg'));
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.console.getopt.configuration.config">
- <title>Konfiguration hinzufügen</title>
- <para>
- Der dritte Parameter des
- <classname>Zend_Console_Getopt</classname>
- Constructors
- ist ein Array von Optionen zur Konfiguration welche das Verhalten der
- zurückgegebenen Objektinstanz beeinflusst. Es können auch durch
- Verwendung
- der
- <methodname>setOptions()</methodname>
- Optionen für die Konfiguration definiert
- werden, oder es können auch individuelle Optionen mit der
- <methodname>setOption()</methodname>
- Methode verwendet werden.
- </para>
- <note>
- <title>Klarstellung des Ausdrucks "Option"</title>
- <para>
- Der Ausdruck "Option" wird für die Konfiguration der
- <classname>Zend_Console_Getopt</classname>
- Klasse verwendet um der Terminologie zu
- folgen die überall im Zend Framework benutzt wird. Das ist nicht das selbe
- wie die
- Kommandozeilen Optionen die von der
- <classname>Zend_Console_Getopt</classname>
- Klasse analysiert werden.
- </para>
- </note>
- <para>
- Die aktuell unterstützten Optionen sind durch Konstanten in der Klasse
- definiert.
- Diese Optionen, bzw deren konstanter Bezeichner (mit wörtlichem Wert in
- Großschreibweise) sind anbei gelistet:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_DASHDASH</constant>
- ("dashDash"),
- wenn es
- <constant>TRUE</constant>
- ist, ermöglicht dieses spezielle Flag
- <command>--</command>
- das Ende von Flags zu signieren. Kommendozeilen Argumente
- welche dem Doppel-Bindestrich Zeichen folgen werden nicht als Option
- interpretiert selbst wenn das Argument mit einem Bindestrich
- beginnt.
- Diese Konfigurationsoption ist standardmäßig
- <constant>TRUE</constant>
- .
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_IGNORECASE</constant>
- ("ignoreCase"),
- wenn es
- <constant>TRUE</constant>
- ist, werden Flags als Aliase voneinander
- betrachtet wenn Sie sich nur in der Groß- oder Kleinschreibung unterscheiden.
- Das bedeutet das
- <command>-a</command>
- und
- <command>-A</command>
- als
- gleiche Flags angesehen werden. Diese Konfigurationsoption ist
- standardmäßig
- <constant>FALSE</constant>
- .
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>Zend_Console_Getopt::CONFIG_RULEMODE</constant>
- ("ruleMode") kann
- die Werte
- <constant>Zend_Console_Getopt::MODE_ZEND</constant>
- ("zend") und
- <constant>Zend_Console_Getopt::MODE_GNU</constant>
- ("gnu") haben. Diese Option
- sollte nicht verwendet werden ausser die Klasse wird erweiter um
- zusätzliche
- Syntax Formen zu unterstützen. Die zwei Modi die in der Basisklasse
- <classname>Zend_Console_Getopt</classname>
- unterstützt werden sind
- eindeutig. Wenn die Angabe eine Zeichenkette ist, nimmt die Klasse
- <constant>MODE_GNU</constant>
- an, sonst wird
- <constant>MODE_ZEND</constant>
- angenommen. Aber wenn die Klasse erweitert wird, und zusätzliche
- Syntaxformen
- hinzugefügt werden, kann der Modus durch Verwendung dieser Option definiert
- werden.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Zusätzliche Konfigurationsoptionen können in zukünftigen Versionen dieser
- Klasse hinzugefügt werden.
- </para>
- <para>
- Die zwei Argumente der
- <methodname>setOption()</methodname>
- Methode sind ein Name einer
- Konfigurationsoption und ein Wert für die Option.
- </para>
- <example id="zend.console.getopt.configuration.config.example.setoption">
- <title>Verwenden von setOption()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setOption('ignoreCase', true);
- ]]></programlisting>
- </example>
- <para>
- Das Argument für die
- <methodname>setOptions()</methodname>
- Methode ist ein
- assoziatives Array. Die Schlüssel dieses Arrays sind die Namen der
- Konfigurationsoptionen, und die Werte sind die Konfigurationswerte.
- Das ist also das Array Format welches auch im Constructor der Klasse
- verwendet wird. Die definierten Konfigurationswerte werden mit der
- aktuellen Konfiguration zusammengefügt; es müssen also nicht alle
- Optionen angegeben werden.
- </para>
- <example id="zend.console.getopt.configuration.config.example.setoptions">
- <title>Verwenden von setOptions()</title>
- <programlisting language="php"><![CDATA[
- $opts = new Zend_Console_Getopt('abp:');
- $opts->setOptions(
- array(
- 'ignoreCase' => true,
- 'dashDash' => false
- )
- );
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
|