1. Go to this page and download the library: Download weew/console-arguments library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$command = new Command('name', 'description');
// create an arguments
$command->argument(ArgumentType::SINGLE, 'argument');
// create an option
$command->option(OptionType::SINGLE_OPTIONAL, '--color', '-c')
->setDefaultValue('red')
->setDescription('your favorite color');
$argument = new Argument(ArgumentType::SINGLE, 'argument');
$command->addArgument($argument);
$option = new Option(OptionType::SINGLE, '--color', '-c');
$option
->setDefaultValue('red')
->setDescription('your favorite color');
$command->addOption($option);
// a single argument that must be set
// throws an error otherwise
ArgumentType::SINGLE;
// an optional argument
// no error will be thrown if missing
ArgumentType::SINGLE_OPTIONAL;
// takes a flexible amount of values
// at least one value must be set
// throws an error otherwise
ArgumentType::MULTIPLE;
// takes a flexible amount of values
// wont throw any errors
ArgumentType::MULTIPLE_OPTIONAL;
// a single argument is expected
// throws an error if option or value is missing
// can be used like this:
// -o arg results in -o=arg
OptionType::SINGLE;
// a single argument is expected
// will not throw any errors if option
// or value is missing
// -o results in -o=null
// -o arg results in -o=arg
OptionType::SINGLE_OPTIONAL;
// flexible amount of arguments is expected
// will throw an error if option
// or at least one value is missing
// can be used like this:
// -o arg1 arg2 arg3 results in -o=[arg1, arg2, arg3]
OptionType::MULTIPLE;
// flexible amount of arguments is expected
// will not throw any errors if option or
// value is missing
// can be used like this:
// -o results in -o=[]
// -o arg1 arg2 arg3 results in -o=[arg1, arg2, arg3]
OptionType::MULTIPLE_OPTIONAL;
// expects no value or one of these values:
// true, false, 0 or 1
// defaults to false
// will not throw any errors if missing
// can be used like this:
// -o results in -o=true
// -o=true|false|0|1 results in true or false
OptionType::BOOLEAN;
// expects a numeric value or no value at all
// defaults to 0
// wont throw any errors
// can be used like this:
// -ooo results in -o=3
// -o -oo results in -o=3
// -o=3 results in -o=3
OptionType::INCREMENTAL;