명령줄 앱 만들기
JumPHP CLI 앱은 터미널에서 동작하는 프로그램입니다. Symfony Console로 작성한 명령(todo add "우유 사기")과 symfony/tui로 만든 전체 화면 텍스트 화면(목록, 입력란, 진행 막대, 키보드)을 가질 수 있습니다. 같은 프로젝트에서 Linux, Windows, macOS용 실행 파일이 나옵니다.
프로젝트 만들기
JumPHP IDE에서 New Project → CLI app. 명령줄에서는:
bin/jumphp cli:new todo "Todo"
bin/jumphp install todo
예제는 할 일 목록입니다: src/Main.php(앱과 명령), src/Command/(명령마다 클래스 하나), src/Ui/(전체 화면).
실행과 테스트
bin/jumphp run todo # 이 터미널에서 전체 화면
bin/jumphp run todo add "우유 사기" # 명령 하나
bin/jumphp test todo # php -l, phpstan, PHPUnit
bin/jumphp shot todo 2 # 화면을 텍스트로: var/screenshots/screen.txt
명령 없이 실행하면 출력이 터미널일 때는 화면을 열고, 파일이나 다른 프로그램으로 갈 때는 간단한 목록을 출력합니다. 스크립트에서도 쓸 수 있습니다.
테스트는 명령(ApplicationTester)과 가상 터미널(VirtualTerminal) 위의 화면을 실행합니다. 키를 누르고 사용자가 볼 내용을 읽습니다.
데이터
앱은 데이터를 사용자 폴더(~/.local/share/<id>, %APPDATA%\<id>, ~/Library/Application Support/<id>)에, 개발 중에는 var/에 저장합니다.
배포하기
bin/jumphp export:standalone todo --linux --windows --macos
시스템마다 실행 파일 하나, 설치할 것이 없습니다. Windows에서는 콘솔 프로그램입니다. bin/jumphp installer todo로 설치 프로그램도 만들 수 있습니다(Windows, Linux).
Windows에서 명령은 어느 콘솔에서나 동작합니다. 전체 화면에는 stty가 있는 터미널(WSL, Git Bash)이 필요합니다.