当前位置: 首页>>代码示例>>PHP>>正文


PHP ArgvInput::bind方法代码示例

本文整理汇总了PHP中Symfony\Component\Console\Input\ArgvInput::bind方法的典型用法代码示例。如果您正苦于以下问题:PHP ArgvInput::bind方法的具体用法?PHP ArgvInput::bind怎么用?PHP ArgvInput::bind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\Console\Input\ArgvInput的用法示例。


在下文中一共展示了ArgvInput::bind方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: bin

    /**
     * `psysh` command line executable.
     *
     * @return Closure
     */
    function bin()
    {
        return function () {
            $usageException = null;
            $input = new ArgvInput();
            try {
                $input->bind(new InputDefinition(array(new InputOption('help', 'h', InputOption::VALUE_NONE), new InputOption('config', 'c', InputOption::VALUE_REQUIRED), new InputOption('version', 'v', InputOption::VALUE_NONE), new InputOption('cwd', null, InputOption::VALUE_REQUIRED), new InputArgument('include', InputArgument::IS_ARRAY))));
            } catch (\RuntimeException $e) {
                $usageException = $e;
            }
            $config = array();
            // Handle --config
            if ($configFile = $input->getOption('config')) {
                $config['configFile'] = $configFile;
            }
            $shell = new Shell(new Configuration($config));
            // Handle --help
            if ($usageException !== null || $input->getOption('help')) {
                if ($usageException !== null) {
                    echo $usageException->getMessage() . PHP_EOL . PHP_EOL;
                }
                $version = $shell->getVersion();
                $name = basename(reset($_SERVER['argv']));
                echo <<<EOL
{$version}

Usage:
  {$name} [--version] [--help] [files...]

Options:
  --help     -h Display this help message.
  --config   -c Use an alternate PsySH config file location.
  --cwd         Use an alternate working directory.
  --version  -v Display the PsySH version.

EOL;
                exit($usageException === null ? 0 : 1);
            }
            // Handle --version
            if ($input->getOption('version')) {
                echo $shell->getVersion() . PHP_EOL;
                exit(0);
            }
            // Pass additional arguments to Shell as 'includes'
            $shell->setIncludes($input->getArgument('include'));
            try {
                // And go!
                $shell->run();
            } catch (Exception $e) {
                echo $e->getMessage() . PHP_EOL;
                // TODO: this triggers the "exited unexpectedly" logic in the
                // ForkingLoop, so we can't exit(1) after starting the shell...
                // fix this :)
                // exit(1);
            }
        };
    }
开发者ID:EnmanuelCode,项目名称:backend-laravel,代码行数:62,代码来源:functions.php

示例2: isProfileOption

 /**
  * We need to add the profile enable option to all commands if we are in
  * the parameter mode.
  *
  * Inspired by
  * http://php-and-symfony.matthiasnoback.nl/2013/11/symfony2-add-a-global-option-to-console-commands-and-generate-pid-file/
  *
  * @param ConsoleCommandEvent $event
  * @return mixed
  */
 private function isProfileOption(ConsoleCommandEvent $event)
 {
     $inputDefinition = $event->getCommand()->getApplication()->getDefinition();
     $inputDefinition->addOption(new InputOption($this->optionName, null, InputOption::VALUE_NONE, '<info>JnsXhprofBundle</info>: Whether to profile this command with xhprof', null));
     // merge the application's input definition
     $event->getCommand()->mergeApplicationDefinition();
     $input = new ArgvInput();
     // we use the input definition of the command
     $input->bind($event->getCommand()->getDefinition());
     return $input->getOption($this->optionName);
 }
开发者ID:ChrisWesterfield,项目名称:MJR.ONE-CP,代码行数:21,代码来源:CommandListener.php

示例3: testParameters

 public function testParameters()
 {
     $cw = $this->buildCommandWrapper();
     $originaDefinition = clone $cw->getDefinition();
     $appIndexDefinition = $this->buildInputDefinition();
     $this->mergeInputDefinitions($cw, $appIndexDefinition);
     $input = new ArgvInput(array('cmd', 'uno_value', 'name_value', '--go'));
     $input->bind($cw->getDefinition());
     $input = $cw->filterByOriginalDefinition($input, $appIndexDefinition);
     $input->validate();
     $this->assertEquals(count($originaDefinition->getArguments()), count($input->getArguments()));
     $this->assertEquals(1, count($input->getArguments()));
     $this->assertEquals(array('name' => 'name_value'), $input->getArguments());
     $this->assertEquals(array('go' => true), $input->getOptions());
 }
开发者ID:Catapush,项目名称:Idephix,代码行数:15,代码来源:CommandWrapperTest.php

示例4: onConsoleCommand

 /**
  * @param ConsoleCommandEvent $event
  */
 public function onConsoleCommand(ConsoleCommandEvent $event)
 {
     $command = $event->getCommand();
     /** @var Application $application */
     $application = $command->getApplication();
     $inputDefinition = $command->getDefinition();
     if ($command instanceof HelpCommand) {
         $input = new ArgvInput();
         $input->bind($inputDefinition);
         $command = $application->find($input->getFirstArgument());
     }
     if ($command instanceof BaseCommand) {
         $this->setInputDefinition($inputDefinition);
     }
 }
开发者ID:afrihost,项目名称:BaseCommandBundle,代码行数:18,代码来源:BaseOptionsEvent.php

示例5: onCommand

 public function onCommand(ConsoleCommandEvent $event)
 {
     $output = $event->getOutput();
     $input = new ArgvInput();
     try {
         $input->bind($this->getDefinition());
     } catch (\RuntimeException $e) {
     }
     $delay = filter_var($input->getOption('delay'), FILTER_VALIDATE_INT);
     if ($delay > 0) {
         $wakeupAt = time() + mt_rand(1, $delay);
         $output->writeln('<comment>Waiting until ' . date('Y-m-d H:i:s', $wakeupAt) . ' eRepublik time.</comment>');
         time_sleep_until($wakeupAt);
     }
     $this->configPath = $input->getOption('config');
     $this->loadConfig();
 }
开发者ID:erpk,项目名称:erbot,代码行数:17,代码来源:Application.php

示例6: getContainer

 /**
  * @return \Symfony\Component\DependencyInjection\ContainerBuilder
  */
 protected function getContainer()
 {
     if ($this->container) {
         return $this->container;
     }
     // Load cli options:
     $input = new ArgvInput();
     $input->bind($this->getDefaultInputDefinition());
     $configPath = $input->getOption('config');
     // Make sure to set the full path when it is declared relative
     // This will fix some issues in windows.
     $filesystem = new Filesystem();
     if (!$filesystem->isAbsolutePath($configPath)) {
         $configPath = getcwd() . DIRECTORY_SEPARATOR . $configPath;
     }
     // Build the service container:
     $this->container = ContainerFactory::buildFromConfiguration($configPath);
     return $this->container;
 }
开发者ID:brzuchal,项目名称:grumphp,代码行数:22,代码来源:Application.php

示例7: onConsoleCommand

 public function onConsoleCommand(ConsoleCommandEvent $event)
 {
     /**
      * Skip if command is not a daemon-command
      */
     if (!$event->getCommand() instanceof ContainerAwareDaemonCommand) {
         return true;
     }
     if (true !== $this->mergeDefinitions($event)) {
         throw new ExtendedConfigurationException('No definitions');
     }
     $input = new ArgvInput();
     $input->bind($event->getCommand()->getDefinition());
     if (true !== $this->addSignals()) {
         throw new \Exception('No signals!');
     }
     if (true === $input->getOption('log-memory')) {
         if (true !== $this->addWatchers()) {
             throw new \Exception('No watchers!');
         }
     }
     if (true === $input->getOption('daemonize') & function_exists('pcntl_fork')) {
         $processId = pcntl_fork();
         if ($processId === -1) {
             throw new \Exception('The process failed to fork.');
         } else {
             if ($processId) {
                 $this->logger->info($event->getCommand()->getName() . ' correctly started as a daemon');
                 exit(0);
             }
         }
         if (posix_setsid() == -1) {
             throw new \Exception("Unable to detach from the terminal window.");
         }
     } else {
         $event->getOutput()->writeln('<comment>Use --daemonize option to run the process in background.</comment>');
     }
     return true;
 }
开发者ID:skedone,项目名称:DaemonsBundle,代码行数:39,代码来源:DaemonizeEventListener.php

示例8: testParser

 public function testParser()
 {
     $input = new ArgvInput(array('cli.php', 'foo'));
     $input->bind(new InputDefinition(array(new InputArgument('name'))));
     $this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() parses required arguments');
     $input->bind(new InputDefinition(array(new InputArgument('name'))));
     $this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() is stateless');
     $input = new ArgvInput(array('cli.php', '--foo'));
     $input->bind(new InputDefinition(array(new InputOption('foo'))));
     $this->assertEquals(array('foo' => true), $input->getOptions(), '->parse() parses long options without a value');
     $input = new ArgvInput(array('cli.php', '--foo=bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses long options with a required value (with a = separator)');
     $input = new ArgvInput(array('cli.php', '--foo', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses long options with a required value (with a space separator)');
     try {
         $input = new ArgvInput(array('cli.php', '--foo'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
         $this->fail('->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
         $this->assertEquals('The "--foo" option requires a value.', $e->getMessage(), '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     }
     $input = new ArgvInput(array('cli.php', '-f'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'))));
     $this->assertEquals(array('foo' => true), $input->getOptions(), '->parse() parses short options without a value');
     $input = new ArgvInput(array('cli.php', '-fbar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses short options with a required value (with no separator)');
     $input = new ArgvInput(array('cli.php', '-f', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses short options with a required value (with a space separator)');
     $input = new ArgvInput(array('cli.php', '-f', ''));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('foo' => ''), $input->getOptions(), '->parse() parses short options with an optional empty value');
     $input = new ArgvInput(array('cli.php', '-f', '', 'foo'));
     $input->bind(new InputDefinition(array(new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('foo' => ''), $input->getOptions(), '->parse() parses short options with an optional empty value followed by an argument');
     $input = new ArgvInput(array('cli.php', '-f', '', '-b'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b'))));
     $this->assertEquals(array('foo' => '', 'bar' => true), $input->getOptions(), '->parse() parses short options with an optional empty value followed by an option');
     $input = new ArgvInput(array('cli.php', '-f', '-b', 'foo'));
     $input->bind(new InputDefinition(array(new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b'))));
     $this->assertEquals(array('foo' => null, 'bar' => true), $input->getOptions(), '->parse() parses short options with an optional value which is not present');
     try {
         $input = new ArgvInput(array('cli.php', '-f'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
         $this->fail('->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
         $this->assertEquals('The "--foo" option requires a value.', $e->getMessage(), '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     }
     try {
         $input = new ArgvInput(array('cli.php', '-ffoo'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))));
         $this->fail('->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
         $this->assertEquals('The "-o" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     }
     try {
         $input = new ArgvInput(array('cli.php', '--foo=bar'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))));
         $this->fail('->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
         $this->assertEquals('The "--foo" option does not accept a value.', $e->getMessage(), '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     }
     try {
         $input = new ArgvInput(array('cli.php', 'foo', 'bar'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if too many arguments are passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if too many arguments are passed');
         $this->assertEquals('Too many arguments.', $e->getMessage(), '->parse() throws a \\RuntimeException if too many arguments are passed');
     }
     try {
         $input = new ArgvInput(array('cli.php', '--foo'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if an unknown long option is passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if an unknown long option is passed');
         $this->assertEquals('The "--foo" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if an unknown long option is passed');
     }
     try {
         $input = new ArgvInput(array('cli.php', '-f'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if an unknown short option is passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if an unknown short option is passed');
         $this->assertEquals('The "-f" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if an unknown short option is passed');
     }
     $input = new ArgvInput(array('cli.php', '-fb'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b'))));
     $this->assertEquals(array('foo' => true, 'bar' => true), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one');
     $input = new ArgvInput(array('cli.php', '-fb', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => true, 'bar' => 'bar'), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and the last one has a required value');
     $input = new ArgvInput(array('cli.php', '-fb', 'bar'));
//.........这里部分代码省略.........
开发者ID:ronaldlunaramos,项目名称:webstore,代码行数:101,代码来源:ArgvInputTest.php

示例9: testParseEmptyStringArgument

 public function testParseEmptyStringArgument()
 {
     $input = new ArgvInput(array('cli.php', '-f', 'bar', ''));
     $input->bind(new InputDefinition(array(new InputArgument('empty'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('empty' => ''), $input->getArguments(), '->parse() parses empty string arguments');
 }
开发者ID:nassafou,项目名称:Filmotheque,代码行数:6,代码来源:ArgvInputTest.php

示例10: testParser

 public function testParser()
 {
     $input = new ArgvInput(array('cli.php', 'foo'));
     $input->bind(new InputDefinition(array(new InputArgument('name'))));
     $this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() parses required arguments');
     $input->bind(new InputDefinition(array(new InputArgument('name'))));
     $this->assertEquals(array('name' => 'foo'), $input->getArguments(), '->parse() is stateless');
     $input = new ArgvInput(array('cli.php', '--foo'));
     $input->bind(new InputDefinition(array(new InputOption('foo'))));
     $this->assertEquals(array('foo' => true), $input->getOptions(), '->parse() parses long options without a value');
     $input = new ArgvInput(array('cli.php', '--foo=bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses long options with a required value (with a = separator)');
     $input = new ArgvInput(array('cli.php', '--foo', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses long options with a required value (with a space separator)');
     try {
         $input = new ArgvInput(array('cli.php', '--foo'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
         $this->fail('->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
         $this->assertEquals('The "--foo" option requires a value.', $e->getMessage(), '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     }
     $input = new ArgvInput(array('cli.php', '-f'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'))));
     $this->assertEquals(array('foo' => true), $input->getOptions(), '->parse() parses short options without a value');
     $input = new ArgvInput(array('cli.php', '-fbar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses short options with a required value (with no separator)');
     $input = new ArgvInput(array('cli.php', '-f', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => 'bar'), $input->getOptions(), '->parse() parses short options with a required value (with a space separator)');
     $input = new ArgvInput(array('cli.php', '-f', '-b', 'foo'));
     $input->bind(new InputDefinition(array(new InputArgument('name'), new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b'))));
     $this->assertEquals(array('foo' => null, 'bar' => true), $input->getOptions(), '->parse() parses short options with an optional value which is not present');
     try {
         $input = new ArgvInput(array('cli.php', '-f'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))));
         $this->fail('->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
         $this->assertEquals('The "--foo" option requires a value.', $e->getMessage(), '->parse() throws a \\RuntimeException if no value is passed to an option when it is required');
     }
     try {
         $input = new ArgvInput(array('cli.php', '-ffoo'));
         $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))));
         $this->fail('->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
         $this->assertEquals('The "-o" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if a value is passed to an option which does not take one');
     }
     try {
         $input = new ArgvInput(array('cli.php', 'foo', 'bar'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if too many arguments are passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if too many arguments are passed');
         $this->assertEquals('Too many arguments.', $e->getMessage(), '->parse() throws a \\RuntimeException if too many arguments are passed');
     }
     try {
         $input = new ArgvInput(array('cli.php', '--foo'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if an unknown long option is passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if an unknown long option is passed');
         $this->assertEquals('The "--foo" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if an unknown long option is passed');
     }
     try {
         $input = new ArgvInput(array('cli.php', '-f'));
         $input->bind(new InputDefinition());
         $this->fail('->parse() throws a \\RuntimeException if an unknown short option is passed');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\RuntimeException', $e, '->parse() throws a \\RuntimeException if an unknown short option is passed');
         $this->assertEquals('The "-f" option does not exist.', $e->getMessage(), '->parse() throws a \\RuntimeException if an unknown short option is passed');
     }
     $input = new ArgvInput(array('cli.php', '-fb'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b'))));
     $this->assertEquals(array('foo' => true, 'bar' => true), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one');
     $input = new ArgvInput(array('cli.php', '-fb', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_REQUIRED))));
     $this->assertEquals(array('foo' => true, 'bar' => 'bar'), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and the last one has a required value');
     $input = new ArgvInput(array('cli.php', '-fb', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('foo' => true, 'bar' => 'bar'), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and the last one has an optional value');
     $input = new ArgvInput(array('cli.php', '-fbbar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f'), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('foo' => true, 'bar' => 'bar'), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and the last one has an optional value with no separator');
     $input = new ArgvInput(array('cli.php', '-fbbar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputOption('bar', 'b', InputOption::VALUE_OPTIONAL))));
     $this->assertEquals(array('foo' => 'bbar', 'bar' => null), $input->getOptions(), '->parse() parses short options when they are aggregated as a single one and one of them takes a value');
     try {
         $input = new ArgvInput(array('cli.php', 'foo', 'bar', 'baz', 'bat'));
         $input->bind(new InputDefinition(array(new InputArgument('name', InputArgument::IS_ARRAY))));
         $this->assertEquals(array('name' => array('foo', 'bar', 'baz', 'bat')), $input->getArguments(), '->parse() parses array arguments');
     } catch (\RuntimeException $e) {
         $this->assertNotEquals('Too many arguments.', $e->getMessage(), '->parse() parses array arguments');
     }
 }
开发者ID:nickaggarwal,项目名称:sample-symfony2,代码行数:99,代码来源:ArgvInputTest.php

示例11: testParseSingleDashAsArgument

 public function testParseSingleDashAsArgument()
 {
     $input = new ArgvInput(array('cli.php', '-'));
     $input->bind(new InputDefinition(array(new InputArgument('file'))));
     $this->assertEquals(array('file' => '-'), $input->getArguments(), '->parse() parses single dash as an argument');
 }
开发者ID:ngitimfoyo,项目名称:Nyari-AppPHP,代码行数:6,代码来源:ArgvInputTest.php

示例12: testParseOptionWithValueOptionalGivenEmptyAndOptionalArgument

 public function testParseOptionWithValueOptionalGivenEmptyAndOptionalArgument()
 {
     $input = new ArgvInput(array('cli.php', '--foo=', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL))));
     $this->assertEquals(array('foo' => null), $input->getOptions(), '->parse() parses optional options with empty value as null');
     $this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses optional arguments');
     $input = new ArgvInput(array('cli.php', '--foo=0', 'bar'));
     $input->bind(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL), new InputArgument('name', InputArgument::OPTIONAL))));
     $this->assertEquals(array('foo' => '0'), $input->getOptions(), '->parse() parses optional options with empty value as null');
     $this->assertEquals(array('name' => 'bar'), $input->getArguments(), '->parse() parses optional arguments');
 }
开发者ID:heximcz,项目名称:routerboard-backup,代码行数:11,代码来源:ArgvInputTest.php

示例13: setInputArgs

 /**
  * Filter and set input for doctrine command line
  *
  * @param array $input
  */
 public function setInputArgs($input, $options)
 {
     $filteredOptions = $this->filterOptions($options);
     $transOption = $this->transOption($filteredOptions);
     $inputAndOptions = array_merge($input, $transOption);
     array_unshift($inputAndOptions, 'doctrine');
     $argvInput = new ArgvInput($inputAndOptions);
     $argvInput->bind($this->getDefinition());
     return $argvInput;
 }
开发者ID:paolooo,项目名称:laravel-doctrine,代码行数:15,代码来源:DoctrineCommand.php


注:本文中的Symfony\Component\Console\Input\ArgvInput::bind方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。