使用 --no-interaction 的 Symfony 命令控制台链

Symfony Command Console chain using --no-interaction

我有几个具有交互和执行方法的自定义 Symfony 控制台命令。

我想从另一个调用其中一个命令,但遇到了 --no-interaction 标志的问题。

$command        = $this->getApplication()->find('app:create-user');
$bufferedOutput = new BufferedOutput();
$userInput      = new ArrayInput(
    array(
        'username'         => "d.vader",
        'password'         => "iAmY0urF4ther",
        'email'            => "d.vader@executor.com",
        'firstName'        => "Darth",
        'lastName'         => "Vader",
        '--no-interaction' => true
    )
);
$returnCode = $command->run($userInput, $bufferedOutput);

尽管所有必需的参数都已设置,但这样做会导致 "Not enough arguments" 错误。有没有其他人尝试以这种方式使用 --no-interaction 标志?

尝试:

$userInput      = new ArrayInput(
    array(
        'command'          => 'app:create-user' // add this line
        'username'         => "d.vader",
        'password'         => "iAmY0urF4ther",
        'email'            => "d.vader@executor.com",
        'firstName'        => "Darth",
        'lastName'         => "Vader",
        '--no-interaction' => true
    )
);