veejay/cli

CLI command parser and builder

Maintainers

Package info

github.com/Veejayspb/cli

pkg:composer/veejay/cli

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-06 22:18 UTC

This package is auto-updated.

Last update: 2026-05-06 22:27:10 UTC


README

Command line parser and builder.

License: MIT

Examples

Basic parsing (single command)

<?php

use Veejay\Cli;

$argv = ['index.php', 'cmd', '--option=one', '-v', 'arg'];

$cli = new Cli($argv);
$cli->setScriptName(); // index.php
$cli->getCommands(); // ['cmd']
$cli->getOptions(); // ['option' => 'one', 'v' => true]
$cli->getArguments(); // ['arg']

Nested commands parsing

<?php

use Veejay\Cli;

$argv = ['index.php', 'cmd1', 'cmd2', 'arg'];

$cli = new Cli($argv, 2);
$cli->getCommands(); // ['cmd1', 'cmd2']
$cli->getArguments(); // ['arg']

Builder

<?php

use Veejay\Cli;

$cli = new Cli;
$cli->setScriptName('index.php');
$cli->addCommand('cmd');
$cli->addOptions([
    'option' => 'one',
    'v' => true
]);
$cli->addArgument('arg');

$cli->getArgv(); // ['index.php', 'cmd', '--option=one', '-v', 'arg']
$cli->stringify(); // index.php cmd --option=one -v arg

Requirements

  • PHP 8.0+

Installation

composer require veejay/cli