Skip to content

Command line arguments/options parser to use in Phalcon applications.

License

Notifications You must be signed in to change notification settings

phalcon/cli-options-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

74d0f68 · Dec 8, 2024
Dec 8, 2024
Nov 24, 2023
Oct 11, 2018
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Oct 11, 2018
Aug 3, 2021
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 11, 2024
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023

Repository files navigation

Cop

PDS Skeleton GitHub License Codacy Grade Codacy Code Coverage Downloads

Command line arguments/options parser.

Requirements

  • PHP >= 8.0

Installing via Composer

Install composer in a common location or in your project:

composer require phalcon/cli-options-parser

Usage

use Phalcon\Cop\Parser;

$parser = new Parser();

// Parse params from the $argv
$params = $parser->parse($argv);

// Parse params from the $_SERVER['argv']
$params = $parser->parse();

// After parsing input, Parser provides a way to gets booleans:
$parser->getBoolean('foo');

// Get param `foo` or return TRUE as a default value
$parser->getBoolean('foo', true);

Examples

php test.php -az value1 -abc value2
[
    'a' => 'value2',
    'z' => 'value1',
    'b' => 'value2',
    'c' => 'value2',
]

php test.php -a value1 -abc value2
[
    'a'  => 'value2',
    'b'  => 'value2',
    'c'  => 'value2',
]

php test.php --az value1 --abc value2
[
    'az'  => 'value1',
    'abc' => 'value2',
]

php test.php --foo --bar=baz --spam eggs
[
    'foo'  => true,
    'bar'  => 'baz',
    'spam' => 'eggs',
]

php test.php -abc foo
[
    'a' => 'foo',
    'b' => 'foo',
    'c' => 'foo',
]

php test.php arg1 arg2 arg3
[
    0 => 'arg1',
    1 => 'arg2',
    2 => 'arg3',
]

php test.php \
    plain-arg \
    --foo \
    --bar=baz \
    --funny="spam=eggs" \
    --also-funny=spam=eggs \
    'plain arg 2'
    -abc \
    -k=value \
    "plain arg 3" \
    --s="original" \
    --s='overwrite' \
    --s
[
    0            => 'plain-arg',
    'foo'        => true,
    'bar'        => 'baz',
    'funny'      => 'spam=eggs',
    'also-funny' => 'spam=eggs',
    1            => 'plain arg 2',
    'a'          => true,
    'b'          => true,
    'c'          => true,
    'k'          => 'value',
    2            => 'plain arg 3',
    's'          => 'overwrite',
]

License

The Cop is open source software licensed under the MIT License.

© Phalcon Team