darkelfe14728 / commandline
This package is abandoned and no longer maintained.
The author suggests using the jrosset/commandline package instead.
Command line management library (CLI)
2.0.0
2021-09-01 18:21 UTC
Requires
- php: >= 7.4
README
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
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
use jrosset\CommandLine\CommandLine;
use jrosset\CommandLine\Argument\Option\Flag;
use jrosset\CommandLine\Argument\Parser\StringParser;
use jrosset\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 ?