czproject / phpcli
Helper class for PHP CLI apps.
Fund package maintenance!
Other
Installs: 3 275
Dependents: 1
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 0
Open Issues: 1
Requires
- php: >=5.6.0
Requires (Dev)
- nette/tester: ^2.0
This package is auto-updated.
Last update: 2024-12-06 16:11:38 UTC
README
Installation
Download a latest package or use Composer:
composer require czproject/phpcli
PhpCli requires PHP 5.6 or later, optionaly Readline extension.
Usage
use CzProject\PhpCli\ConsoleFactory; require __DIR__ . '/vendor/autoload.php'; $console = ConsoleFactory::createConsole(); // output $console->output('CzProject CLI Simple Console', 'green') ->nl() // new line ->output('Hey!', 'yellow') ->nl() ->output('Fred!', 'blue') ->nl() ->output('Fred is dead!', 'red') ->nl() ->output(['nooooooo...!', ' ', 'But, no problem!'], 'gray') ->nl() ->output('The end.') ->nl(); // input $username = $console->input('Enter your name'); $console->output('Hello! ', 'blue') ->output($username, 'green') ->output(' [user]', 'yellow') ->nl() // print new line ->output('Bye!', 'blue') ->nl(); // input with default value $username = $console->input('Enter your name', 'John'); // confirm $agree = $console->confirm('Do you want to continue?'); // confirm with default value $canQuit = $console->confirm('Really?', TRUE); // select $value = $console->select('Select color:', [ 'value' => 'label', '#ff0000' => 'Red', '#00ff00' => 'Green', '#0000ff' => 'Blue', ]); // select with default value $value = $console->select('Select color:', [ 'value' => 'label', '#ff0000' => 'Red', '#00ff00' => 'Green', '#0000ff' => 'Blue', ], '#ff0000');
Parameters
Arguments
$name = $console->getArgument(0)->getValue(); // string|NULL $size = $console->getArgument(1, 'int') ->setRequired() ->addRule(function ($value) { return $value > 0; }) ->getValue(); $price = $console->getArgument(2, 'float') // float ->setDefaultValue(100.0) ->getValue();
Options
$name = $console->getOption('name')->getValue(); // string|NULL $size = $console->getOption('size', 'int') ->setRequired() ->addRule(function ($value) { return $value > 0; }) ->getValue(); $price = $console->getOption('price', 'float') // float ->setDefaultValue(100.0) ->getValue(); $words = $console->getOption('word') ->setRepeatable() ->getValue();
Supported types
string
int
andinteger
float
bool
andboolean
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/