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
protected PropertyText $resourceText

Methods

__construct(Assembly $assembly)

Neuer Befehl

getArgument()

Argument

getTerminal()

No description

initResourceText(string $resource = null, Directory $basepath = null)

Ressourcentexte initialisieren

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

Lokalisierten Text holen

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

Internationalisierung

Details

at line 101
__construct(Assembly $assembly)

Neuer Befehl

Parameters

Assembly $assembly Anwendung

at line 126
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 132
Terminal getTerminal()

Return Value

Terminal

at line 144
protected DefaultPresenter initResourceText(string $resource = null, Directory $basepath = null)

Ressourcentexte initialisieren

Parameters

string $resource
Directory $basepath

Return Value

DefaultPresenter

at line 197
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 232
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