Mercurial > hg > rc1
diff vendor/pear/console_commandline/docs/examples/ex3.php @ 0:1e000243b222
vanilla 1.3.3 distro, I hope
author | Charlie Root |
---|---|
date | Thu, 04 Jan 2018 15:50:29 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/pear/console_commandline/docs/examples/ex3.php Thu Jan 04 15:50:29 2018 -0500 @@ -0,0 +1,89 @@ +<?php + +/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ + +/** + * This file is part of the PEAR Console_CommandLine package. + * + * A simple example demonstrating the use of subcommands. + * + * PHP version 5 + * + * LICENSE: This source file is subject to the MIT license that is available + * through the world-wide-web at the following URI: + * http://opensource.org/licenses/mit-license.php + * + * @category Console + * @package Console_CommandLine + * @author David JEAN LOUIS <izimobil@gmail.com> + * @copyright 2007 David JEAN LOUIS + * @license http://opensource.org/licenses/mit-license.php MIT License + * @version CVS: $Id$ + * @link http://pear.php.net/package/Console_CommandLine + * @since File available since release 0.1.0 + */ + +// Include the Console_CommandLine package. +require_once 'Console/CommandLine.php'; + +// create the parser +$parser = new Console_CommandLine(array( + 'description' => 'A great program that can foo and bar !', + 'version' => '1.0.0' +)); + +// add a global option to make the program verbose +$parser->addOption('verbose', array( + 'short_name' => '-v', + 'long_name' => '--verbose', + 'action' => 'StoreTrue', + 'description' => 'turn on verbose output' +)); + +// add the foo subcommand +$foo_cmd = $parser->addCommand('foo', array( + 'description' => 'output the given string with a foo prefix' +)); +$foo_cmd->addOption('reverse', array( + 'short_name' => '-r', + 'long_name' => '--reverse', + 'action' => 'StoreTrue', + 'description' => 'reverse the given string before echoing it' +)); +$foo_cmd->addArgument('text', array( + 'description' => 'the text to output' +)); + +// add the bar subcommand with a "baz" alias +$bar_cmd = $parser->addCommand('bar', array( + 'description' => 'output the given string with a bar prefix', + 'aliases' => array('baz'), +)); +$bar_cmd->addOption('reverse', array( + 'short_name' => '-r', + 'long_name' => '--reverse', + 'action' => 'StoreTrue', + 'description' => 'reverse the given string before echoing it' +)); +$bar_cmd->addArgument('text', array( + 'description' => 'the text to output' +)); + +// run the parser +try { + $result = $parser->parse(); + if ($result->command_name) { + $st = $result->command->options['reverse'] + ? strrev($result->command->args['text']) + : $result->command->args['text']; + if ($result->command_name == 'foo') { + echo "Foo says: $st\n"; + } else if ($result->command_name == 'bar') { + echo "Bar says: $st\n"; + } + } +} catch (Exception $exc) { + $parser->displayError($exc->getMessage()); +} + +?>