PL

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).