Table
Lorsque l'on souhaite afficher de l'information dans le terminal, pouvoir afficher un tableau peut être pratique.
Ici, on a la partie header que l'on complète via add_header()
Ensuite, on ajoute une ligne via add_row(string $value).
On peut également le compléter en indiquant un tableau directement set_data(array $a).
On utilise ensuite Output pour afficher notre tableau Output::table(Table $t, int $width).
Exemple
$table=new Table();
$table->add_header('HOSTNAME',...);
$table->add_header('CLASS',10);
$table->add_header('RECORD TYPE',15);
$table->add_header('VALUE',20);
$data = [
['@', 'IN', 'A', 'IPV4 du serveur'],
['@', 'IN', 'AAAA', 'IPV6 du serveur'],
[$this->hostname, 'IN', 'A', 'IPV4 du serveur'],
[$this->hostname, 'IN', 'AAAA', 'IPV6 du serveur'],
[],
['mail', 'IN', 'A', 'IPV4 du serveur'],
['mail', 'IN', 'AAAA', 'IPV6 du serveur'],
[],
['@', 'IN', Output::e('MX 10','info'), '...'],
[],
[Output::e_center_text(' SPF ')],
['@', 'IN', 'TXT', '...'],
[],
[Output::e_center_text(' DKIM ',xx)],
['default._domainkey', 'IN', 'TXT', '...'],
[],
[Output::e_center_text(' DMARC ',xx)],
['_marc', 'IN', 'TXT', '...'],
[],
[Output::e_center_text(' SERVICES ANNEXES ',xx)],
['postfixadmin', 'IN', 'CNAME', '...'],
['roundcube', 'IN', 'CNAME', '...'],
];
$table->set_data($data);
Output::table($table);
Soit un rendu similaire à: