<?php namespace App; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; #[AsCommand( name: 'show', description: 'Show all backup entries.', )] class CommandShow extends Command { protected function configure(): void { $this->addArgument( 'config', InputArgument::REQUIRED, 'Configuration file' ); } 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; } $sio->table( ['Description', 'Source', 'Destination'], $app->getConfig('backup') ); $sio->success("Done"); return Command::SUCCESS; } }