PT

Criar uma aplicação de linha de comando

Uma aplicação CLI JumPHP é um programa que vive no terminal: comandos (todo add "Comprar leite") escritos com Symfony Console e ecrãs completos em texto (listas, campos, barras de progresso, teclado) com symfony/tui. O mesmo projeto dá um executável para Linux, Windows e macOS.

Criar o projeto

No JumPHP IDE: New Project e depois CLI app. Na linha de comando:

bin/jumphp cli:new todo "Todo"
bin/jumphp install todo

O exemplo é uma lista de tarefas: src/Main.php (a aplicação e os seus comandos), src/Command/ (uma classe por comando), src/Ui/ (os ecrãs completos).

Executar e testar

bin/jumphp run todo                          # o ecrã completo, neste terminal
bin/jumphp run todo add "Comprar leite"        # um comando
bin/jumphp test todo                         # php -l, phpstan, PHPUnit
bin/jumphp shot todo 2                       # o ecrã em texto: var/screenshots/screen.txt

Sem comando, a aplicação abre o seu ecrã quando a saída é um terminal e mostra uma lista simples quando vai para um ficheiro ou outro programa: continua utilizável em scripts.

Os testes executam os comandos (ApplicationTester) e os ecrãs num terminal virtual (VirtualTerminal): carregam em teclas e leem o que o utilizador veria.

Os dados

A aplicação guarda os seus dados na pasta do utilizador (~/.local/share/<id>, %APPDATA%\<id>, ~/Library/Application Support/<id>), e em var/ durante o desenvolvimento.

Distribuir

bin/jumphp export:standalone todo --linux --windows --macos

Um executável por sistema, nada a instalar; no Windows é um programa de consola. bin/jumphp installer todo também cria instaladores (Windows, Linux).

No Windows os comandos funcionam em qualquer consola; os ecrãs completos precisam de um terminal com stty (WSL, Git Bash).