IT

Creare un'applicazione a riga di comando

Un'app CLI JumPHP è un programma che vive nel terminale: comandi (todo add "Comprare il latte") scritti con Symfony Console e schermate a tutto schermo in testo (liste, campi, barre di avanzamento, tastiera) con symfony/tui. Lo stesso progetto dà un eseguibile per Linux, Windows e macOS.

Creare il progetto

Nel JumPHP IDE: New Project, poi CLI app. Da riga di comando:

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

L'esempio è una lista di attività: src/Main.php (l'applicazione e i suoi comandi), src/Command/ (una classe per comando), src/Ui/ (le schermate a tutto schermo).

Avviare e testare

bin/jumphp run todo                          # la schermata a tutto schermo, in questo terminale
bin/jumphp run todo add "Comprare il latte"        # un comando
bin/jumphp test todo                         # php -l, phpstan, PHPUnit
bin/jumphp shot todo 2                       # la schermata come testo: var/screenshots/screen.txt

Senza comando, l'app apre la sua schermata quando l'uscita è un terminale e stampa una semplice lista quando va in un file o in un altro programma: resta usabile negli script.

I test eseguono i comandi (ApplicationTester) e le schermate su un terminale virtuale (VirtualTerminal): premono tasti e leggono ciò che vedrebbe l'utente.

I dati

L'app salva i suoi dati nella cartella dell'utente (~/.local/share/<id>, %APPDATA%\<id>, ~/Library/Application Support/<id>), e in var/ durante lo sviluppo.

Distribuire

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

Un eseguibile per sistema, niente da installare; su Windows è un programma da console. bin/jumphp installer todo crea anche degli installer (Windows, Linux).

Su Windows i comandi funzionano in qualsiasi console; le schermate a tutto schermo richiedono un terminale con stty (WSL, Git Bash).