Ich möchte eine einzige namens Argument/Option für symfony Befehl erstellen. Und wollen symfony diese 3 Möglichkeiten zu unterscheiden:symfony2 Konsole Argumente
my:command
, was bedeutet so etwas wiemy:command --arg=null
my:command --arg
, was bedeutet,my:command --arg=defalutValue
my:command --arg=someValue
, die vollständig explizit ist.
I.e. Ich möchte zwei Arbeitsmodi für Code unter diesem Befehl: Standard-1 und nicht-Standard mit zusätzlichen Argument, und dass Arg sollte Standardwert haben.
Ich verstehe, dass ich 2 Args erstellen konnte, aber ich suche nach einer Arg-zu-Regel-sie-alle-Lösung.
Ist es möglich, dies mit integrierten Klassen zu erreichen, oder sollte ich benutzerdefinierte Klassen erstellen? Wenn die Lösung nur mit benutzerdefinierten Klassen verfügbar ist, teilen Sie mir bitte mit, wo ich anfangen soll (z. B. "Unterklasse erstellen ..." oder "Paket mit Namen installieren ..."), da ich mit der Symfony2-Architektur nicht vertraut bin.
Korrigieren Sie mich, wenn ich falsch liege, es ist das erste Mal, dass ich diese Methode benutze, aber ich denke, um dieses Ergebnis zu erhalten, müssen Sie InputOption :: VALUE_OPTIONAL als drittes Argument verwenden. – manu
In der Tat mit der InputOption :: VALUE_NONE erhalten Sie eine Laufzeitausnahme: Die Option akzeptiert keinen Wert. –
Mit 'InputOption :: VALUE_NONE' erhalten wir eine Ausnahme, wenn die Optionen einen Wert erhalten – smarber