setArgument() публичный Метод

The value is converted to the type defined by the argument format.
public setArgument ( string | integer $name, mixed $value ) : static
$name string | integer The argument name or its 0-based position in the argument list.
$value mixed The value of the argument.
Результат static The current instance.
Пример #1
0
 public function testRenderCommandJson()
 {
     $args = new Args($this->helpCommand->getArgsFormat());
     $args->setArgument('command', 'the-command');
     $status = $this->handler->handle($args, $this->io, $this->command);
     $this->assertStringStartsWith('{"name":"the-command",', $this->io->fetchOutput());
     $this->assertSame(0, $status);
 }
Пример #2
0
    public function testRenderCommandXml()
    {
        $args = new Args($this->helpCommand->getArgsFormat());
        $args->setArgument('command', 'the-command');
        $status = $this->handler->handle($args, $this->io, $this->command);
        $expected = <<<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<command id="the-command" name="the-command">
EOF;
        $this->assertStringStartsWith($expected, $this->io->fetchOutput());
        $this->assertSame(0, $status);
    }
Пример #3
0
    public function testRenderCommandText()
    {
        $args = new Args($this->helpCommand->getArgsFormat());
        $args->setArgument('command', 'the-command');
        $status = $this->handler->handle($args, $this->io, $this->command);
        $expected = <<<'EOF'
USAGE
  console the-command

GLOBAL OPTIONS
EOF;
        $this->assertStringStartsWith($expected, $this->io->fetchOutput());
        $this->assertSame(0, $status);
    }
Пример #4
0
 /**
  * Creates the arguments from the current class state.
  *
  * @param ArgsFormat $format  The format.
  * @param RawArgs    $rawArgs The raw arguments.
  *
  * @return Args The created console arguments.
  */
 private function createArgs(ArgsFormat $format, RawArgs $rawArgs)
 {
     $args = new Args($format, $rawArgs);
     foreach ($this->arguments as $name => $value) {
         // Filter command names
         if ($format->hasArgument($name)) {
             $args->setArgument($name, $value);
         }
     }
     foreach ($this->options as $name => $value) {
         // Filter command options
         if ($format->hasOption($name)) {
             $args->setOption($name, $value);
         }
     }
     return $args;
 }
Пример #5
0
 /**
  * {@inheritdoc}
  */
 public function setArgument($name, $value)
 {
     if ($this->args) {
         $this->args->setArgument($name, $value);
     }
 }
Пример #6
0
 public function testIsArgumentSet()
 {
     $format = ArgsFormat::build()->addArgument(new Argument('argument1'))->addArgument(new Argument('argument2'))->getFormat();
     $args = new Args($format);
     $this->assertFalse($args->isArgumentSet('argument1'));
     $this->assertFalse($args->isArgumentSet('argument2'));
     $this->assertFalse($args->isArgumentSet('foo'));
     $args->setArgument('argument1', 'value1');
     $args->setArgument('argument2', 'value2');
     $this->assertTrue($args->isArgumentSet('argument1'));
     $this->assertTrue($args->isArgumentSet('argument2'));
     $this->assertFalse($args->isArgumentSet('foo'));
 }