CLI
PHP Framework for command line interfaces, (*1)
, (*2)
About
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., (*3)
The goal is to build intuitive CLI tools. Nobody likes to read documentation, so make your application self-descriptive!, (*4)
Features
- 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
Example
For a simple application look at the example/
folder., (*5)
Requirements
- 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
and json
Installation
Go to your project folder and require this framework via Composer:, (*6)
~~~ {.bash}
composer require bheisig/cli, (*7)
## Update
Composer is the way to go:
~~~ {.bash}
composer update
Copyright & License
Copyright (C) 2018-19 Benjamin Heisig, (*8)
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., (*9)