Quber
@Quber
PHP Team lead

Как в консоле Symfony передать опцию в виде строки?

Есть команда, в опцию которой необходимо передать строку.
php app/console acme:email:send --created='-3 days'

В коде
protected function configure()
{
    // ...
    $this->addOption(
        'created',
        null,
        InputOption::VALUE_OPTIONAL,
        'Days ago?',
        "-1 day"
    );
);

protected function execute(InputInterface $input, OutputInterface $output)
{
    var_dump($input->getOption('created'));
}

// output:

'-3 days'

Как видно вывод экранируется и строка выводится вместе с кавычками. Как получить чистое значение без кавычек? В мануале ничего подобного не смог найти.

Спасибо.

UPD.
Если передать уже экранированную строку:
php app/console acme:email:send --created=\"-3 days\"

То получим:
// output:

\-3 days\
  • Вопрос задан
  • 2283 просмотра
Решения вопроса 1
banderos120
@banderos120
Играю на балалайке
Вам обязательно '-3 days' ? Это опции, введите просто --created=-3 --format=days . Или используйте для этого аргументы и будет вам счастье.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы