| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- 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>
|