phalcon/cli-options-parser

Command line arguments/options parser.

Package info

github.com/phalcon/cli-options-parser

Homepage

pkg:composer/phalcon/cli-options-parser

Fund package maintenance!

phalcon

Open Collective

Statistics

Installs: 1 100 972

Dependents: 8

Suggesters: 0

Stars: 18

Open Issues: 0

v2.0.0 2023-11-24 16:04 UTC

Requires

  • php: >=8.0

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause ec4d4cd0b7e61046b88957a4028ad01dfa14f4e6

cliparsercommandgetoptcommand-linelineterminaloptionoptparseargparse

This package is auto-updated.

Last update: 2026-06-15 18:59:39 UTC


README

👁 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