(16) 981791110 contato@policast.studio

20 exemplos de uso do Console Component do Symfony

Listas

O componente Console do Symfony oferece uma variedade de funcionalidades, desde a execução de tarefas automatizadas até a interação com o usuário através do terminal. Uma das funcionalidades mais úteis do Console Component é a capacidade de criar listas de informações organizadas, permitindo que os usuários visualizem dados de maneira clara e estruturada.

Para criar uma lista com o Console Component do Symfony, use a classe SymfonyComponentConsoleHelperTable.

Veja abaixo um exemplo de código que mostra como criar uma lista simples:


use SymfonyComponentConsoleHelperTable;

$table = new Table($output);
$table->setHeaders(array('Nome', 'E-mail'))
->setRows(array(
array('João', 'joao@mail.com'),
array('Maria', 'maria@mail.com')
));

$table->render();

Neste exemplo, a classe SymfonyComponentConsoleHelperTable é instanciada e configurada para ter duas colunas, “Nome” e “E-mail”. Em seguida, são adicionadas duas linhas de dados usando o método setRows e passando um array de arrays que contêm os dados para cada linha. Finalmente, a lista é exibida usando o método render.

Como personalizar uma lista

O componente Console do Symfony permite que você personalize ainda mais a aparência e o comportamento da sua lista.

Por exemplo, você pode alterar o estilo da sua lista, adicionando bordas ou cores. Isso é feito usando o método setStyle.

Veja abaixo como adicionar estilos em uma lista:


$table = new Table($output);
$table->getStyle()->setHeaderTitleFormat('%s');

$table->setHeaders(array('Nome', 'E-mail'))
->setRows(array(
array('João', 'joao@mail.com'),
array('Maria', 'maria@mail.com')
));

$table->setStyle('borderless')
->setColumnWidth(0, 15);

$table->render();

Neste exemplo, o estilo da lista é personalizado com o método setStyle para uma lista sem bordas, e a largura da primeira coluna é definida como 15 com o método setColumnWidth. Além disso, o método setHeaderTitleFormat é usado para adicionar o texto “Nome” em negrito.

Como exibir uma lista de objetos

Você também pode utilizar o Console Component do Symfony para exibir uma lista de objetos, ao invés de uma matriz de dados.

Para fazer isso, você pode utilizar a classe SymfonyComponentConsoleHelperTableSeparator, que é usada para adicionar linhas em branco à lista, e o método addColumn, que permite que você adicione colunas personalizadas à lista:


use SymfonyComponentConsoleHelperTable;
use SymfonyComponentConsoleHelperTableSeparator;

$users = array(
array('nome' => 'João', 'email' => 'joao@mail.com', 'idade' => 32),
array('nome' => 'Maria', 'email' => 'maria@mail.com', 'idade' => 28),
);

$table = new Table($output);
$table->setHeaders(array('Nome', 'E-mail', 'Idade'));

foreach ($users as $user) {
$table->addRow(array(
$user['nome'],
$user['email'],
$user['idade']
));

$table->addRow(new TableSeparator());
}

$table->render();

Neste exemplo, a tabela é criada com as colunas “Nome”, “E-mail” e “Idade”. Em seguida, cada usuário é adicionado à lista usando o método addRow. Após cada linha de dados, uma linha em branco é adicionada à lista usando a classe SymfonyComponentConsoleHelperTableSeparator.

Para mais exemplos de uso do Console Component do Symfony, confira a documentação oficial: https://symfony.com/doc/current/components/console.html