veejay / cli
CLI command parser and builder
1.0.0
2026-05-06 22:18 UTC
Requires
- php: >=8.0
Requires (Dev)
- nyholm/nsa: ^1.4
- phpunit/phpunit: ^9.6
This package is auto-updated.
Last update: 2026-05-06 22:27:10 UTC
README
Command line parser and builder.
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