wjzijderveld / console-input-resolver
Library to ask questions for missing options and arguments
0.2.0
2014-11-30 14:38 UTC
Requires
- symfony/console: ~2.5
Requires (Dev)
- phpspec/phpspec: ~2.1@dev
This package is not auto-updated.
Last update: 2024-11-05 02:28:15 UTC
README
A simple library for Symfony Console.
It allows to ask the user for options if not provided, this way you can use a command both interactive as in a bash oneliner.
Installation
composer require wjzijderveld/console-input-resolver 1.*@dev
Usage
class GenerateCommand extends Command { private $inputResolver; public function __construct(Resolver $inputResolver) { parent::__construct(); $this->inputResolver = $inputResolver; } public function configure() { $this->setName('generate'); $this ->addArgument('class', InputArgument::OPTIONAL, 'The name of the class to generate') ->addOption('namespace', null, InputOption::VALUE_REQUIRED, 'The namespace to generate the class in'); } public function execut(InputInterface $input, OutputInterface $output) { // values will now contain values for namespace and class // for each option or argument that is not given when running this command // it will interactivily ask for a value $values = $this->inputResolver->resolveInputDefinition($this->getDefinition(), array('namespace', 'class')); var_dump($values); } }
Example output:
$ ./console generate --namespace Acme > The name of the class to generate: Foo > array(2) { 'namespace' => string(4) "Acme" 'class' => string(3) "Foo" }