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


PHP ConsoleOptionParser::parse方法代码示例

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


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

示例1: runCommand

 /**
  * Runs the Shell with the provided argv.
  *
  * Delegates calls to Tasks and resolves methods inside the class. Commands are looked
  * up with the following order:
  *
  * - Method on the shell.
  * - Matching task name.
  * - `main()` method.
  *
  * If a shell implements a `main()` method, all missing method calls will be sent to
  * `main()` with the original method name in the argv.
  *
  * @param string $command The command name to run on this shell. If this argument is empty,
  *   and the shell has a `main()` method, that will be called instead.
  * @param array $argv Array of arguments to run the shell with. This array should be missing the shell name.
  * @return void
  * @link http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::runCommand
  */
 public function runCommand($command, $argv)
 {
     $isTask = $this->hasTask($command);
     $isMethod = $this->hasMethod($command);
     $isMain = $this->hasMethod('main');
     if ($isTask || $isMethod && $command !== 'execute') {
         array_shift($argv);
     }
     try {
         $this->OptionParser = $this->getOptionParser();
         list($this->params, $this->args) = $this->OptionParser->parse($argv, $command);
     } catch (ConsoleException $e) {
         $this->out($this->OptionParser->help($command));
         return false;
     }
     $this->command = $command;
     if (!empty($this->params['help'])) {
         return $this->_displayHelp($command);
     }
     if (($isTask || $isMethod || $isMain) && $command !== 'execute') {
         $this->startup();
     }
     if ($isTask) {
         $command = Inflector::camelize($command);
         return $this->{$command}->runCommand('execute', $argv);
     }
     if ($isMethod) {
         return $this->{$command}();
     }
     if ($isMain) {
         return $this->main();
     }
     $this->out($this->OptionParser->help($command));
     return false;
 }
开发者ID:Chromedian,项目名称:inventory,代码行数:54,代码来源:Shell.php

示例2: testParsingWithSubParser

 /**
  * test that parse() takes a subcommand argument, and that the subcommand parser
  * is used.
  *
  * @return void
  */
 public function testParsingWithSubParser()
 {
     $parser = new ConsoleOptionParser('test', FALSE);
     $parser->addOption('primary')->addArgument('one', array('required' => TRUE, 'choices' => array('a', 'b')))->addArgument('two', array('required' => TRUE))->addSubcommand('sub', array('parser' => array('options' => array('secondary' => array('boolean' => TRUE), 'fourth' => array('help' => 'fourth option')), 'arguments' => array('sub_arg' => array('choices' => array('c', 'd'))))));
     $result = $parser->parse(array('--secondary', '--fourth', '4', 'c'), 'sub');
     $expected = array(array('secondary' => TRUE, 'fourth' => '4', 'help' => FALSE, 'verbose' => FALSE, 'quiet' => FALSE), array('c'));
     $this->assertEquals($expected, $result, 'Sub parser did not parse request.');
 }
开发者ID:mrbadao,项目名称:api-official,代码行数:14,代码来源:ConsoleOptionParserTest.php


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