Command
abstract class Command extends Alvine
Befehl
Ein Befehl stellt ein Argument das Ihn auslöst und die verfügbaren Optionen bereit. Über die onMatch-Methoden der Argumente und Methoden wird das Verhalten des Befehls gesteuert.
// Schalteroption (boolean) mit dem Namen --myoption und dem Alias -o
$myOption = new \Alvine\Application\Console\Option\Boolean('myoption','o');
// Darf einmal auftreten
$myOption->setLimitCount(1);
// Hat einen Hilfetext
$myOption->setDescription('Beschreibung');
// Wird die Option aufgerufen so wird im Befehlsobjekt der Wert gesetzt
$myOption->onMatch = function(\Alvine\Application\Console\Option $option, $value) {
// ... mache etwas mit $option und $value
};
$arg = new \Alvine\Application\Console\Argument('myCommand');
// Option hinzufügen
$arg->add($myOption);
$arg->onMatch = function(\Alvine\Application\Console\Argument $argument, \Alvine\Types\StringList $options, \Alvine\Types\StringList $global) {
// ... mache etwas mit $argument, $options, $global
};
$arg->setDescription('Mein Befehl');
Ein Befehl bearbeitet massgeblich die onMatch() Methoden der Argumente und Optionen.
Properties
protected Assembly | $assembly |
Methods
Argument
No description
Lokalisierten Text holen
Internationalisierung
Details
at line 96
__construct(Assembly $assembly)
Neuer Befehl
at line 121
abstract Argument
getArgument()
Argument
Liefert das Argument das diesen Befehl auslöst zurück. Soll dies der zentrale Befehl sein, so muss der Name des zurückgegebenen Arguments.
at line 127
Terminal
getTerminal()
at line 140
Command
writeLine(string $text = '', Color $foreground = null, Color $background = null)
Text Zeilenweise Ausgeben
at line 158
Command
write(string $text)
Text Zeilenweise Ausgeben
at line 184
string
getText(string $text, string $default = null, string $pluralKey = null)
Lokalisierten Text holen
Beispiele wenn der Schlüssel nicht gefunden wird:
// Lokalisierung mit Default-Wert
Presenter::getText('my.key::name=Hans', 'Hallo!');
-> Hallo!
// Wird kein Default übergeben wird der Schlüssel ausgegeben
Presenter::getText('my.key::name=Hans');
-> my.key::name=Hans
at line 215
string
replaceI18N(string $content, string $quoteCharList = null)
Internationalisierung
Die Platzhalter müssen mit i18n anfangen:
i18n{mykeytoreplace}
Die Eigenschaft muss dann mit dem Schlüssel angelegt werden:
mykeytoreplace=Text
In der Anwendungskonfiguration kann der Schlüssel application.web.i18n.showkeys auf true gesetzt werden.
Wird die Zeichenkette $quoteCharList übergeben, so werden alle Zeichen die darin enthalten sind mit einem Backslash versehen. Diese Funktion verwendet die PHP Version \addcslashes