Разрешить любую опцию, переданную в Symfony CLI

Цель состоит в том, чтобы разрешить передачу любых параметров в CLI Symfony, а не ограничиваться определенным набором разрешенных параметров.

Например:

php console.php --foo=bar

В этом примере foo это опция, которая явно не разрешена приложением Symfony.

Мое консольное приложение проксирует к другому приложению с несколькими опциями CLI. Я не хочу вручную отражать каждую доступную опцию, чтобы сделать ее доступной для приложения Symfony.

1

Решение

Почему бы просто не создать собственную консольную команду (см. Symfony doc как это сделать) и использовать его параметры ввода или аргументы, чтобы передать его?

РЕДАКТИРОВАТЬ

Чтобы уточнить, что я имею в виду: не используйте пользовательские параметры, а пользовательские входные аргументы, такие как:

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

Позвольте пользователю использовать такую ​​команду, как mycompany: команда opt1 = val1 opt2 = valx (вместо mycompany: команда —opt1 = val1 —opt2 = valx, для которой вам действительно нужно определить opt1 и opt2)

Прочитайте массив, разделите значения в ‘=’ и передайте их третьему лицу так, как это требуется. Благодаря тому, что opt1 и opt2 являются динамическими, можно вводить все, что он предпочитает.

Я не проверял этот подход, но я не понимаю, почему это не должно работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]