# PHPCommandLine __Command line management library in PHP (CLI)__ ![last release](https://badgen.net/packagist/v/darkelfe14728/commandline?label=Last%20release) ![licence](https://badgen.net/packagist/license/darkelfe14728/commandline?color=red) ![nb releases](https://badgen.net/packagist/dt/darkelfe14728/commandline?color=green) A command-line options parser with configurable expects and help auto generation. There is two kind of arguments : - options (short/long tag) : _-h_ or _--version_ - values : my/path/to/a/file ## Installation ``` composer require jrosset/commandline ``` ## Description At first, create a new CommandLine with program name and description. Add options and values by using respectively _addOption_ and _addValue_. Default options for help (-h / --help) and version (--version) can be add with _addDefaultArguments_ and use _treatDefaultArguments_ for launching associated treatments. Treat script arguments with _parse_ : return an object of variables. ## Example ```php addDefaultArguments(); $cmdline->addOption(new Flag('enhanced', false, 'Deep check ?')); $cmdline->addValue(new Value('path', 'File path', new StringParser())); var_dump($args = $cmdline->parse()); $cmdline->treatDefaultArguments($args); ``` Would display something like that : class stdClass#13 (1) { public $enhanced => bool(false) public $path => string("my/path/to/a/file") } ## Automatic help generation CommandLine provide a generator for command-line of programme. Example : Checker File checker php checker.php [OPTIONS] path Arguments : path string File path Options : -h --help X Affiche cette aide --enhanced Deep check ?