Как получить необработанный консольный ввод в команде Symfony до версии 7.1Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как получить необработанный консольный ввод в команде Symfony до версии 7.1

Сообщение Anonymous »

Я работаю над командой в Symfony 5.4, и мне нужно получить необработанный ввод консоли (например, «app:do-things аргумент1 --option=value»).
В В Symfony 7.1 был добавлен метод getRawTokens, который идеально подходит для этой цели (он возвращает массив с необработанными входными токенами, которые затем я мог бы взорвать), но, к сожалению, у меня нет доступа к нему в Symfony 5.4.< /p>
Я пробовал реконструировать необработанный ввод с помощью методов $input->getArguments() и $input->getOptions( ) примерно так:

Код: Выделить всё

protected function buildInputString(InputInterface $input): string
{
$inputString = implode(' ', $input->getArguments());

foreach ($input->getOptions() as $name => $value) {
$inputString .= " --$name=$value";
}

return $inputString;
}
Проблема в том, что метод getOptions() возвращает все параметры, включая все глобальные параметры по умолчанию. Это значит, что если я введу в консоль

Код: Выделить всё

symfony console app:do-things argument1
Я получу такой результат

Код: Выделить всё

app:do-things argument1 --help= --quiet= --verbose= --version= --ansi= --no-interaction= --env=dev --no-debug=
Есть ли способ получить необработанные токены, как это делается в Symfony 7.1, с помощью getRawTokens()?

Подробнее здесь: https://stackoverflow.com/questions/791 ... efore-v7-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»