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.

Application -> ArgumentParser: parse() ArgumentParser -> Argument: hasPosition() ArgumentParser -> Argument: isRequired() ArgumentParser -> Argument: execute() Argument -> OptionParser: add($option) OptionParser -> Option: getName() OptionParser -> Option: getAlias() OptionParser -> Option: isRequired() OptionParser -> Option: execute() Option -> Option: onMatch($value) note right: Die definierte Funktion besitzt als\nzusaetlichen Parameter die Option\nund ist definiert als\n onMatch($option, $value) Argument -> OptionParser: parse() Argument -> Argument: onMatch($options, $global) note right: Die definierte Funktion besitzt als\nzusaetlichen Parameter das Argument\nund ist definiert als\n onMatch($argument, $options, $global)

Properties

protected Assembly $assembly

Methods

__construct(Assembly $assembly)

Neuer Befehl

getArgument()

Argument

getTerminal()

No description

writeLine(string $text = '', Color $foreground = null, Color $background = null)

Text Zeilenweise Ausgeben

write(string $text)

Text Zeilenweise Ausgeben

string
getText(string $text, string $default = null, string $pluralKey = null)

Lokalisierten Text holen

string
replaceI18N(string $content, string $quoteCharList = null)

Internationalisierung

Details

at line 96
__construct(Assembly $assembly)

Neuer Befehl

Parameters

Assembly $assembly Anwendung

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.

Return Value

Argument Argument

at line 127
Terminal getTerminal()

Return Value

Terminal

at line 140
Command writeLine(string $text = '', Color $foreground = null, Color $background = null)

Text Zeilenweise Ausgeben

Parameters

string $text
Color $foreground
Color $background

Return Value

Command

at line 158
Command write(string $text)

Text Zeilenweise Ausgeben

Parameters

string $text

Return Value

Command

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

Parameters

string $text Textvorlage in der Form Schlüssel::key1=value1::key2=value2....
string $default Defaultwert
string $pluralKey Name des Schlüssels der Mehrzahlregel

Return Value

string lokalisierter Text

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

Parameters

string $content Inhalt
string $quoteCharList Quote

Return Value

string