Skip to content
/ cli Public

PHP Framework for command line interfaces

License

Notifications You must be signed in to change notification settings

bheisig/cli

CLI

PHP Framework for command line interfaces

Latest Stable Version Minimum PHP Version Build Status

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 and json

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.

About

PHP Framework for command line interfaces

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages