bheisig / cli
Framework for command line interfaces
Requires
- php: >=5.6.0
- ext-calendar: *
- ext-date: *
- ext-filter: *
- ext-json: *
Requires (Dev)
- php: >=7.1.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.5.0
- jakub-onderka/php-parallel-lint: ^1.0
- phpcompatibility/php-compatibility: *
- phploc/phploc: ^4.0
- phpmd/phpmd: @stable
- phpstan/phpstan: ^0.11.5
- povils/phpmnd: ^2
- sebastian/phpcpd: ^4.1.0
- sensiolabs/security-checker: ^5
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2024-10-29 04:36:47 UTC
README
PHP Framework for command line interfaces
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.
The goal is to build intuitive CLI tools. Nobody likes to read documentation, so make your application self-descriptive!
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.
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
andjson
Installation
Go to your project folder and require this framework via Composer:
composer require bheisig/cli
Update
Composer is the way to go:
composer update
Copyright & License
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.