Desenvolvimento

18 jan, 2019

Modificando o output do PHP no terminal com CLImate

Publicidade

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!