addArgument( 'config', InputArgument::REQUIRED, 'Configuration file' ); } /** * 1. Read the configuration file. * 2. For each configured backup print the details * 3. Exit */ protected function execute(InputInterface $input, OutputInterface $output): int { $sio = new SymfonyStyle($input, $output); $sio->title('List backup entities'); try { $app = new App((string)$input->getArgument('config')); } catch (\Throwable $e) { $sio->error('Configuration error: ' . $e->getMessage()); return Command::FAILURE; } /** * @var array{title: string, source: string, destination: string}[] */ $backupElements = $app->getConfig('backup'); $sio->table( ['Description', 'Source', 'Destination'], $backupElements ); $sio->success("Done"); return Command::SUCCESS; } }