Skip to content
✔️An advanced parameter parser for PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Added functionality for chosing what properties for a parameter are o… Dec 31, 2018
src/ParameterParser Fixed StyleCI: Stage 4 Dec 31, 2018
.gitignore
LICENSE Create LICENSE Nov 11, 2016
ReadMe.md Update ReadMe.md Dec 6, 2017
composer.json 1. Added better support for printing usage. Dec 31, 2018

ReadMe.md

Parameter Parser

Parameter Parser is a simple library used to parse intricate parameters from an array of strings.

Hint: Parameter Parser is available through Composer. composer require nafisc/parameterparser.

StyleCI Latest Stable Version Total Downloads Latest Unstable Version License

Advanced Code Examples

Features

  • Parse command line parameters.
  • Assign aliases to parameters.
  • Custom closures for each command line parameter.
  • Variadic closure support for arguments taking more than one value.
  • Customize the way the command line is parsed.

Example Usage

// Initialize a new ParameterCluster
$parameters = new ParameterCluster();

// Add a ParameterClosure to the ParameterCluster
$parameters->add(parameter('-', 'name', function ($name) {
    return $name;
}, true));

// Create a new parameter parser using the ParameterCluster
$parameterParser = new ParameterParser($argv, $parameters);

// Parse the parameters using the ParameterParser.
$results = $parameterParser->parse();

// Verify that the parameters were valid after parsing.
if (! $parameterParser->isValid()) {

    // Since it was not valid, output usage.
    echo $parameters->getFullUsage() . PHP_EOL;

} else {

    // Retrieve the name from the results
    $name = $results['name'];

    // Output the name
    echo 'Your name is ' . $name . PHP_EOL;

}

Output

~/ php test.php -name 'Nathan Fiscaletti'

   Your name is Nathan Fiscaletti
You can’t perform that action at this time.