loadEnvVar = $loadEnvVar ?? static fn (string $envVar) => EnvVars::from($envVar)->loadFromEnv(); parent::__construct(); } #[Interact] public function askMissing(InputInterface $input, SymfonyStyle $io): void { /** @var string|null $envVar */ $envVar = $input->getArgument('env-var'); $validEnvVars = enumValues(EnvVars::class); if ($envVar === null) { $envVar = $io->choice('Select the env var to read', $validEnvVars); } if (! contains($envVar, $validEnvVars)) { throw new InvalidArgumentException(sprintf('%s is not a valid Shlink environment variable', $envVar)); } $input->setArgument('env-var', $envVar); } public function __invoke( SymfonyStyle $io, #[Argument(description: 'The env var to read')] string $envVar, ): int { $io->writeln(formatEnvVarValue(($this->loadEnvVar)($envVar))); return Command::SUCCESS; } }