Utilitários CLI em PHP: crie ferramentas de console do zero

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Utilitários CLI em PHP: por que você ainda não criou sua própria ferramenta de console?

\n\n

Imagine: você está no terminal, executa um comando — e em segundos tem um relatório pronto, todas as imagens convertidas ou um projeto configurado em um novo servidor. Sem navegador, sem mouse, sem esforço extra. Parece mágica? Não, são apenas utilitários CLI em PHP.

\n\n

Muitos desenvolvedores acham que PHP é só uma "linguagem web". Mas, na verdade, PHP é uma excelente ferramenta para criar aplicações de console. Ela possui suporte nativo a fluxos de entrada e saída, manipulação prática de argumentos e, claro, bibliotecas poderosas como Symfony Console. Neste artigo, vamos explorar como criar um script de console em PHP do zero — desde um simples echo até uma ferramenta completa com cores e barra de progresso.

\n\n

Se você está cansado de tarefas repetitivas feitas manualmente, se quer automatizar a rotina e se sentir um verdadeiro hacker, está no lugar certo. Vamos nessa!

\n\n

O que é um utilitário CLI e para que serve?

\n\n

CLI (Command Line Interface) é um programa que roda no terminal. Ele recebe argumentos, executa ações e exibe resultados. Diferente de aplicações web, não há HTML, CSS ou JavaScript. Apenas código puro e o terminal.

\n\n

Por que criar utilitários CLI em PHP? Veja alguns cenários:

\n\n
    \n
  • Migração de dados — transferir informações de CSV para um banco de dados.
  • \n
  • Geração de relatórios — coletar estatísticas e gerar PDF ou Excel.
  • \n
  • Automação de deploy — implantar um projeto no servidor com um único comando.
  • \n
  • Parsing e processamento de arquivos — conversão, compressão, renomeação.
  • \n
  • Tarefas CRON — operações regulares executadas em horários agendados.
  • \n
\n\n

E o melhor: desenvolver ferramentas de console em PHP não exige infraestrutura complexa. Basta um arquivo e algumas linhas de código.

\n\n

Começando: script CLI mínimo em PHP

\n\n

Abra o terminal, crie um arquivo hello.php e escreva:

\n\n
<?php\necho "Olá, terminal!\\n";\n
\n\n

Execute:

\n\n
php hello.php\n
\n\n

Você verá:

\n\n
Olá, terminal!
\n\n

Parabéns! Você acabou de criar seu primeiro utilitário CLI em PHP. Mas vamos torná-lo útil. Adicione o processamento de argumentos da linha de comando.

\n\n

Trabalhando com argumentos: $argv e $argc

\n\n

O PHP oferece dois arrays superglobais para trabalhar com o console: $argv (lista de argumentos) e $argc (número de argumentos). O primeiro argumento (índice 0) é o nome do próprio script.

\n\n

Exemplo:

\n\n
<?php\nif ($argc < 2) {\n    echo "Uso: php hello.php [nome]\\n";\n    exit(1);\n}\n\n$name = $argv[1];\necho "Olá, $name!\\n";\n
\n\n

Execução:

\n\n
php hello.php João\n
\n\n

Resultado:

\n\n
Olá, João!
\n\n

Já é interessante. Mas para projetos sérios, essa abordagem é limitada. Precisamos de argumentos nomeados, flags, valores padrão. É aqui que a biblioteca Symfony Console entra em cena.

\n\n

Symfony Console: base poderosa para utilitários CLI em PHP

\n\n

Symfony Console é o padrão de facto para criar aplicações de console em PHP. Com ela, você pode adicionar facilmente:

\n\n
    \n
  • Argumentos e opções nomeadas
  • \n
  • Saída colorida
  • \n
  • Barras de progresso
  • \n
  • Validação de entrada
  • \n
  • Autoload de comandos
  • \n
\n\n

Instalação via Composer:

\n\n
composer require symfony/console\n
\n\n

Agora, vamos criar um utilitário CLI em PHP completo — um gerador de senhas.

\n\n

Criando um comando para gerar senhas

\n\n

Estrutura do projeto

Blogs

Book Recommendations