You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
|
|
# PHPCommandLine
|
|
__Command line management library in PHP (CLI)__
|
|
|
|

|
|

|
|

|
|
|
|
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
|
|
|
|
### 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
|
|
<?php
|
|
|
|
use CommandLine\CommandLine;
|
|
use CommandLine\Argument\Option\Flag;
|
|
use CommandLine\Argument\Parser\StringParser;
|
|
use CommandLine\Argument\Value\Value;
|
|
|
|
$cmdline = new CommandLine('Checker', 'File checker', 'php checker.php');
|
|
$cmdline->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 ?
|
|
|