我正在尝试从控制器运行命令,但它不起作用。这是我的代码:
$email = $request->get('email');
if (empty($email))
$email = $request->get('nombres');
if (empty($password))
$password = '123456';
$application = new Application($this->container->get('kernel'));
$application->setAutoExit(false);
$input = new ArrayInput(array(
"command" => "fos:user:create",
"username" => $username,
"email" => $email,
"password" => $password));
$output = new ConsoleOutput();
$retval = $application->run($input, $output);
var_dump(stream_get_contents($output->getStream()));
die();
只是它什么都不做,#retval是1而$ output var是空的。
任何帮助将不胜感激 感谢
的Jaime
答案 0 :(得分:1)
基本上你不应该在控制器中使用命令。控制台命令和控制器是两个不同的传递层。
请使用服务(因此您可以在控制器和命令中使用它)用于fos:user:create您可以使用类似的东西:
$manipulator = $this->container->get('fos_user.util.user_manipulator');
$manipulator->create($username, $password, $email, $active = true, $superadmin = false);