Fala, galera! Tudo bom?
Estamos aqui mais uma vez para falar sobre uma biblioteca que achei muito divertida e muito útil caso você escreva programas para console/terminal em PHP.
Dessa vez, a biblioteca é a CLImate, criada pela The League of Extraordinary Packages (thephpleague). Com ela, você pode customizar o output que é enviado ao terminal, manipular cores no retorno, exibir tabelas, otimizar a exibição de JSON, arrays e muito mais coisas legais que geralmente precisamos fazer quando interagimos com o terminal.
Para utilizar o climate no seu projeto basta dar um composer require na pasta do projeto:
composer require league/climate
No exemplo que criamos aqui, mostraremos como podemos modificar cores no output, exibir dados em forma de tabela e até gerar um var_dump para todos os elementos de um array. Porém, é possível fazer muito mais coisas como, por exemplo, exibir ASCII Art, mexer com progress bar, etc. Para ver a documentação completa da biblioteca, acesse o link abaixo:
<?php
require_once 'vendor/autoload.php';
use League\CLImate\CLImate;
$climate = new CLImate();
$climate->blue('Escrevendo no terminal em azul.'); //escreve no terminal em azul.
$climate->red('Escrevendo no terminal em vermelho.'); //escreve no terminal em vermelho.
$climate->yellow('Escrevendo no terminal em amarelo'); //escreve no terminal em amarelo.
$climate->backgroundMagenta('Escrevendo no terminal com fundo em magenta.'); //escreve no terminal com fundo em magenta.
$data = [
[
'Pokemaobr',
'Zueiro',
'The Velopers',
],
[
'Alefe',
'Dev FullStack',
'iMasters',
],
[
'Vitor',
'Jornalista',
'iMasters',
],
]; //dados da tabela que será exibida
$climate->table($data); //exibe os dados em forma de tabela.
$climate->dump([
12,
0.12,
'String',
]); //exibe o var_dump de todos os elementos no array
$climate->error('Erro detectado.'); //escreve no terminal em forma de erro
Infelizmente a exibição de cores do CLImate não funciona no cmd, no git-bash e nem no powershell, por isso, para usar no Windows você pode baixar o cmder.
Bem, por hoje é só. Espero que esse artigo ajude você, que curte mexer muito com o console, a exibir as coisas de um jeito mais completo.
Até a próxima!