https://symfony.com/blog/new-in-symfony-7-4-improved-invokable-commands С командами стало еще проще работать. enum CloudRegion: string { case East = 'east'; case West = 'west'; }
enum ServerSize: int { case S = 1; case M = 2; case L = 3; case XL = 4; } #[AsCommand('app:add-server')] class AddServerCommand { public function __invoke( OutputInterface $output, #[Argument] CloudRegion $region, #[Option] ?ServerSize $size = null, ): int { $output->writeln($region->value); $output->writeln($size?->value ?? 'No value');
return Command::SUCCESS; } } Цепляем enum как аргумент и все сразу работает.