PHP Framework for command line interfaces
You want an easy way to build a command line tool written in PHP? You are bored of big, over-engineered frameworks? And last but not least, you do not want to reinvent the wheel? -- Great, this could be the (almost) perfect solution for your next project.
The goal is to build intuitive CLI tools. Nobody likes to read documentation, so make your application self-descriptive!
- Easy-to-install via Composer
- Perfectly suited to create a single binary file from your application
- Simple interface
- Separate your features by commands
- Runs on POSIX-like systems (GNU/Linux, MacOS, …) and Windows
- Error/exception handling
- Optional colored output based on log level
- Log to standard or error output
- Pre-defined usage output
- JSON-based configuration with defaults, system-wide, user defined and runtime settings
- Support for long and short options with optional or required values
- Pre-defined options for verbosity/quietness, usage, version information, additional configuration files, runtime settings, configuration test
- Verbosity mode outputs human-readable runtime in seconds and peak memory usage
For a simple application look at the example/
folder.
- PHP, version 7.1 or higher (7.0 works but is deprecated, 7.3 is recommended, unreleased 7.4 should work)
- PHP modules
calendar
,cli
,date
,filter
andjson
Go to your project folder and require this framework via Composer:
composer require bheisig/cli
Composer is the way to go:
composer update
Copyright (C) 2018-19 Benjamin Heisig
Licensed under the GNU Affero GPL version 3 or later (AGPLv3+). This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.