(16) 981791110 contato@policast.studio

O que é uma Lista no Console Component do Symfony?

Uma Lista é uma classe que permite exibir uma lista de itens no console a partir de um array ou um iterador. Ela é uma das opções disponíveis no Console Component do Symfony, que é utilizado para desenvolvimento de aplicações CLI em projetos Symfony.

Como criar uma Lista com o Console Component?

Para criar uma Lista com o Console Component, é necessário primeiro instanciar a classe ListCommand do componente. Em seguida, é preciso fornecer à Lista os dados que devem ser exibidos, utilizando a função setRows. Por fim, é necessário chamar a função run do ListCommand para exibir a Lista no console.


// Instancia a classe ListCommand
$listCommand = new SymfonyComponentConsoleCommandListCommand();

// Define os dados da Lista
$rows = array(
array('id' => 1, 'nome' => 'João'),
array('id' => 2, 'nome' => 'Maria'),
array('id' => 3, 'nome' => 'José'),
);
$listCommand->setRows($rows);

// Exibe a Lista no console
$listCommand->run(new SymfonyComponentConsoleInputArrayInput(array()), new SymfonyComponentConsoleOutputConsoleOutput());

Como personalizar uma Lista com o Console Component?

É possível personalizar a aparência e o comportamento da Lista utilizando opções disponíveis na classe ListCommand. Algumas das opções mais comuns incluem a definição do cabeçalho da lista, a definição da largura das colunas e a definição de um texto opcional para exibição caso a Lista esteja vazia.


// Instancia a classe ListCommand
$listCommand = new SymfonyComponentConsoleCommandListCommand();

// Define os dados da Lista
$rows = array(
array('id' => 1, 'nome' => 'João'),
array('id' => 2, 'nome' => 'Maria'),
array('id' => 3, 'nome' => 'José'),
);
$listCommand->setRows($rows);

// Define opções da Lista
$listCommand->setHeaders(array('ID', 'Nome'));
$listCommand->setColumnWidths(array(5, 15));
$listCommand->setEmptyText('Nenhum item encontrado');

// Exibe a Lista no console
$listCommand->run(new SymfonyComponentConsoleInputArrayInput(array()), new SymfonyComponentConsoleOutputConsoleOutput());

Como adicionar uma tabela na Lista com o Console Component?

É possível adicionar uma tabela na Lista utilizando a classe Table separadamente. Primeiro, instancie a classe Table e defina suas colunas. Em seguida, adicione a tabela à Lista utilizando a função addTable. As células da tabela serão exibidas diretamente abaixo da linha correspondente na Lista.


// Instancia a classe ListCommand
$listCommand = new SymfonyComponentConsoleCommandListCommand();

// Define os dados da Lista
$rows = array(
array('id' => 1, 'nome' => 'João'),
array('id' => 2, 'nome' => 'Maria'),
array('id' => 3, 'nome' => 'José'),
);
$listCommand->setRows($rows);

// Instancia a classe Table
$table = new SymfonyComponentConsoleHelperTable(new SymfonyComponentConsoleOutputConsoleOutput());
$table->setHeaders(array('ID', 'Nome'));

// Define os dados da tabela
$tableRows = array(
array(1, 'João Demétrio da Silva'),
array(2, 'Maria de Fátima'),
array(3, 'José Moura'),
);
$table->setRows($tableRows);

// Adiciona a tabela à Lista
$listCommand->addTable($table);

// Exibe a Lista no console
$listCommand->run(new SymfonyComponentConsoleInputArrayInput(array()), new SymfonyComponentConsoleOutputConsoleOutput());