2016-11-07 4 views
1

Das Ziel besteht darin, dass alle Optionen an die symfony-CLI übergeben werden und nicht auf eine bestimmte Gruppe zulässiger Optionen beschränkt werden.Alle an Symfony CLI übergebenen Optionen zulassen

Zum Beispiel:

php console.php --foo=bar 

In diesem Beispiel foo ist eine Option, die nicht ausdrücklich von der symfony-Anwendung erlaubt ist.

Meine Konsolenanwendung kommuniziert mit einer Reihe von CLI-Optionen an eine andere Anwendung. Ich möchte nicht jede verfügbare Option manuell spiegeln müssen, um sie der Symfony-Anwendung zur Verfügung zu stellen.

Antwort

0

Warum nicht einfach Ihren eigenen Konsolenbefehl erstellen (siehe Symfony doc wie es geht) und seine Eingabeoptionen oder Argumente verwenden, um ihn zu übergeben?

EDIT

Zur weiteren Klärung, was ich meine: Seien Sie nicht die benutzerdefinierten Optionen verwenden, sondern individuelle Eingabeargumente wie:

$this 
// ... 
->addArgument(
    'options', 
    InputArgument::IS_ARRAY | InputArgument::REQUIRED, 
    'Please provide options separated by space' 
); 

der Benutzer Lassen Sie den Befehl wie mycompany verwenden: Befehl opt1 = val1 opt2 = valx (statt mycompany: command --opt1 = val1 --opt2 = valx, für die Sie opt1 und opt2 tatsächlich definieren müssten)

Lesen Sie das Array, teilen Sie die Werte bei '=' und übergeben Sie sie zu deiner dritten Partei in der w Ja, es ist erforderlich. Dadurch, dass opt1 und opt2 dynamisch sind, kann man eingeben, was immer er möchte.

Ich habe diesen Ansatz nicht getestet, aber ich verstehe nicht, warum das nicht funktionieren sollte.

+0

Ich habe meinen eigenen Konsolenbefehl. Ich möchte nicht ~ 30 Optionen mit der Proxy-Anwendung synchronisiert halten. – jdp

Verwandte Themen