以 -(减号)开头的 TYPO3 Symfony 命令控制器参数导致错误
TYPO3 Symfony Command Controller argument starting with - (minus) causes error
我在带有参数的 TYPO3 扩展中有一个 Symfony 命令控制器。例如使用 $this->addArgument('myArgument', InputArgument::OPTIONAL, 'My argument', 'default');
设置参数并使用 $input->getArgument('myArgument')
获取参数。使用 vendor/bin/typo3 myextension:mycommand myargument
.
执行命令
这通常工作正常,但是一个参数用于使用 strtotime
设置相对日期,例如 -1 week
。这会导致错误:The "-1" option does not exist.
用于此的命令是 vendor/bin/typo3 myextension:mycommand "-1 week"
.
是否有不同的输入参数或转义方式?我已经试过了 "\-1 week"
它是 Symfony 中的 known bug 参数和选项。我现在通过使用 _
而不是 -
并在我的代码中使用 $myArgument = preg_replace('/^_/', '-', $input->getArgument('myArgument'));
替换它来“修复”它。这确实意味着我的论点不能以下划线开头,但在这种情况下这不是问题。
我在带有参数的 TYPO3 扩展中有一个 Symfony 命令控制器。例如使用 $this->addArgument('myArgument', InputArgument::OPTIONAL, 'My argument', 'default');
设置参数并使用 $input->getArgument('myArgument')
获取参数。使用 vendor/bin/typo3 myextension:mycommand myargument
.
这通常工作正常,但是一个参数用于使用 strtotime
设置相对日期,例如 -1 week
。这会导致错误:The "-1" option does not exist.
用于此的命令是 vendor/bin/typo3 myextension:mycommand "-1 week"
.
是否有不同的输入参数或转义方式?我已经试过了 "\-1 week"
它是 Symfony 中的 known bug 参数和选项。我现在通过使用 _
而不是 -
并在我的代码中使用 $myArgument = preg_replace('/^_/', '-', $input->getArgument('myArgument'));
替换它来“修复”它。这确实意味着我的论点不能以下划线开头,但在这种情况下这不是问题。