O que é um framework CLI para PHP?
Um framework CLI (Command Line Interface) para PHP é uma ferramenta que permite aos desenvolvedores criar comandos de console, scripts e utilitários em PHP. A solução mais popular e poderosa nesta área é o componente Symfony Console. Ele fornece uma arquitetura pronta para processar argumentos, opções, exibir texto colorido, dicas interativas e gerar ajuda automaticamente.
Para que serve um framework CLI?
No desenvolvimento moderno, comandos de console são usados para automatizar tarefas: migrações de banco de dados, limpeza de cache, geração de código, execução de testes, processamento de filas e muito mais. Sem um framework, você teria que analisar manualmente os argumentos da linha de comando, tratar erros e formatar a saída. O Symfony Console torna esse processo simples e padronizado.
Como instalar?
A instalação é feita via Composer. Abra o terminal na raiz do seu projeto e execute:
composer require symfony/consoleDepois disso, você poderá usar todos os recursos do framework em sua aplicação PHP.
Principais funcionalidades
- Criação de comandos: Cada comando é uma classe separada que herda de Command.
- Argumentos e opções: Defina facilmente parâmetros obrigatórios e opcionais, bem como opções com valores padrão.
- Saída colorida: Use estilos para destacar erros, avisos e mensagens de sucesso.
- Interatividade: Suporte para perguntas, seleção em lista e autocompletar de entrada.
- Ajuda automática: Ao executar um comando com a flag --help, a documentação completa é gerada.
- Tabelas e barras de progresso: Exibição conveniente de dados em formato de tabela e indicadores de progresso.
Exemplo de código em PHP
Vamos criar um comando simples que cumprimenta o usuário:
// src/Command/GreetCommand.phpnamespace App\\Command;
use Symfony\\Component\\Console\\Command\\Command;use Symfony\\Component\\Console\\Input\\InputArgument;use Symfony\\Component\\Console\\Input\\InputInterface;use Symfony\\Component\\Console\\Output\\OutputInterface;
class GreetCommand extends Command{ protected static $defaultName = 'app:greet';
protected function configure() { $this ->setDescription('Cumprimenta o usuário') ->addArgument('name', InputArgument::REQUIRED, 'Nome do usuário'); }
protected function execute(InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $output->writeln('Olá, ' . $name . '!'); return Command::SUCCESS; }}Execute o comando no terminal:
php bin/console app:greet JoãoVocê verá: Olá, João!
Quando usar
O Symfony Console é ideal para qualquer projeto PHP que exija a criação de utilitários de console: desde scripts simples até aplicações CLI complexas com dezenas de comandos. É uma ferramenta indispensável para DevOps, automação de implantação e administração. Se você trabalha com frameworks Symfony, Laravel (via Artisan) ou qualquer outra aplicação PHP — use este componente para criar código limpo e de fácil manutenção.