addArgument('username', InputArgument::REQUIRED, 'Username') ->addArgument('password', InputArgument::REQUIRED, 'Plain password') ->addOption('admin', null, InputOption::VALUE_NONE, 'Grant ROLE_ADMIN') ; } protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $username = $input->getArgument('username'); $plainPassword = $input->getArgument('password'); $user = new User(); $user->setUsername($username); $user->setPassword($this->passwordHasher->hashPassword($user, $plainPassword)); if ($input->getOption('admin')) { $user->setRoles(['ROLE_ADMIN']); } $this->em->persist($user); $this->em->flush(); $io->success(sprintf('User "%s" created%s.', $username, $input->getOption('admin') ? ' with ROLE_ADMIN' : '')); return Command::SUCCESS; } }