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.
|
4 years ago | |
---|---|---|
Tests | 4 years ago | |
src/CommandLine | 4 years ago | |
.gitignore | 6 years ago | |
LICENSE.md | 6 years ago | |
README.md | 4 years ago | |
composer.json | 4 years ago | |
composer.lock | 4 years ago |
README.md
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
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 ?