Tworzenie aplikacji wiersza poleceń
Aplikacja CLI JumPHP to program, który działa w terminalu: polecenia (todo add "Kupić mleko") napisane w Symfony Console oraz pełnoekranowe ekrany tekstowe (listy, pola, paski postępu, klawiatura) w symfony/tui. Z jednego projektu powstaje plik wykonywalny dla Linuksa, Windows i macOS.
Tworzenie projektu
W JumPHP IDE: New Project, następnie CLI app. W wierszu poleceń:
bin/jumphp cli:new todo "Todo"
bin/jumphp install todo
Przykład to lista zadań: src/Main.php (aplikacja i jej polecenia), src/Command/ (jedna klasa na polecenie), src/Ui/ (ekrany pełnoekranowe).
Uruchamianie i testy
bin/jumphp run todo # ekran pełnoekranowy, w tym terminalu
bin/jumphp run todo add "Kupić mleko" # polecenie
bin/jumphp test todo # php -l, phpstan, PHPUnit
bin/jumphp shot todo 2 # ekran jako tekst: var/screenshots/screen.txt
Bez polecenia aplikacja otwiera swój ekran, gdy wyjściem jest terminal, a wypisuje zwykłą listę, gdy trafia do pliku lub innego programu: nadaje się do skryptów.
Testy wykonują polecenia (ApplicationTester) i ekrany na wirtualnym terminalu (VirtualTerminal): naciskają klawisze i czytają to, co zobaczyłby użytkownik.
Dane
Aplikacja przechowuje dane w folderze użytkownika (~/.local/share/<id>, %APPDATA%\<id>, ~/Library/Application Support/<id>), a podczas tworzenia w var/.
Dystrybucja
bin/jumphp export:standalone todo --linux --windows --macos
Jeden plik wykonywalny na system, nic do instalowania; w Windows to program konsolowy. bin/jumphp installer todo tworzy też instalatory (Windows, Linux).
W Windows polecenia działają w każdej konsoli; ekrany pełnoekranowe wymagają terminala z stty (WSL, Git Bash).