• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Console_CommandLine类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: run

 public function run()
 {
     $this->concentrator = new Concentrate_Concentrator();
     $this->parser = Console_CommandLine::fromXmlFile($this->getUiXml());
     try {
         $result = $this->parser->parse();
         $this->setOptions($result->options);
         $this->setWebRoot($result->args['webroot']);
         $this->loadDataFiles();
         if ($this->combine) {
             $this->writeCombinedFiles();
             $this->writeCombinedFlagFile();
         }
         if ($this->compile) {
             $this->writeCompiledFiles();
             $this->writeCompiledFlagFile();
         }
         if ($this->minify) {
             $this->writeMinifiedFiles();
             $this->writeMinifiedFlagFile();
         }
     } catch (Console_CommandLine_Exception $e) {
         $this->displayError($e->getMessage() . PHP_EOL);
     } catch (Exception $e) {
         $this->displayError($e->getMessage() . PHP_EOL, false);
         $this->displayError($e->getTraceAsString() . PHP_EOL);
     }
 }
开发者ID:GervaisdeM,项目名称:Concentrate,代码行数:28,代码来源:CLI.php


示例2: loadParams

 /**
  * Loads and parses command line parameters.
  * Also takes care of the --help switch.
  *
  * @return void
  *
  * @throws Exception When the rST file does not exist
  */
 protected function loadParams()
 {
     $parser = new \Console_CommandLine();
     $parser->description = 'Deploy reStructuredText documents into a wiki';
     $parser->version = '@version@';
     $parser->addArgument('file', array('description' => 'rST file path'));
     $parser->addOption('driver', array('long_name' => '--driver', 'optional' => true, 'action' => 'StoreString', 'description' => 'Wiki driver to use'));
     //No -D options: https://pear.php.net/bugs/bug.php?id=19163
     //yep, that does not automatically work with new drivers
     Driver_Confluence::loadHelp($parser);
     try {
         $result = $parser->parse();
         foreach (array_keys($result->options) as $key) {
             if ($result->options[$key] === null) {
                 unset($result->options[$key]);
             }
         }
         $this->options = array_merge($this->options, $result->options);
     } catch (\Console_CommandLine_Exception $e) {
         $parser->displayError($e->getMessage());
     }
     $this->file = $result->args['file'];
     if (!file_exists($this->file)) {
         throw new Exception('File does not exist', 2);
     }
 }
开发者ID:netresearch,项目名称:deploy-rst,代码行数:34,代码来源:Cli.php


示例3: add

 /**
  * Class constructor
  *
  * @param \Console_CommandLine  $parser
  * @param \Monolog\logger       $logger
  */
 public function add($command, $parameters)
 {
     if (empty($parameters["class"])) {
         $this->logger->error("Skipping command " . $command . ": invalid command definition", array("NAME" => $command, "PARAMETERS" => $parameters));
         return false;
     }
     // replace double backslashes from classname (if any!)
     $class = str_replace('\\\\', '\\', $parameters["class"]);
     if (!class_exists($class)) {
         $this->logger->error("Skipping command " . $command . ": missing class", array("NAME" => $command, "CLASS" => $class));
         return false;
     }
     $this->command_classes[$command] = $class;
     $params = array();
     if (array_key_exists('description', $parameters)) {
         $params['description'] = $parameters['description'];
     }
     if (array_key_exists('aliases', $parameters) && is_array($parameters['aliases'])) {
         $params['aliases'] = $parameters['aliases'];
     }
     $command = $this->parser->addCommand($command, $params);
     if (array_key_exists('options', $parameters) && is_array($parameters['options'])) {
         foreach ($parameters['options'] as $option => $option_parameters) {
             $command->addOption($option, $option_parameters);
         }
     }
     if (array_key_exists('arguments', $parameters) && is_array($parameters['arguments'])) {
         foreach ($parameters['arguments'] as $argument => $argument_parameters) {
             $command->addArgument($argument, $argument_parameters);
         }
     }
     return true;
 }
开发者ID:comodojo,项目名称:extender.framework,代码行数:39,代码来源:Controller.php


示例4: validate

 /**
  * Validates the argument instance.
  *
  * @return void
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public function validate()
 {
     // check if the argument name is valid
     if (!preg_match('/^[a-zA-Z_\\x7f-\\xff]+[a-zA-Z0-9_\\x7f-\\xff]*$/', $this->name)) {
         Console_CommandLine::triggerError('argument_bad_name', E_USER_ERROR, array('{$name}' => $this->name));
     }
     parent::validate();
 }
开发者ID:ntemple,项目名称:intelli-plancake,代码行数:15,代码来源:Argument.php


示例5: loadHelp

 /**
  * Loads confluence-specific options into the command line parser
  *
  * @param object $parser Command line parser object
  *
  * @return void
  */
 public static function loadHelp(\Console_CommandLine $parser)
 {
     $parser->addOption('user', array('long_name' => '--user', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence user name'));
     $parser->addOption('password', array('long_name' => '--password', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence user password'));
     $parser->addOption('no_deploy', array('long_name' => '--no-deploy', 'optional' => true, 'action' => 'StoreTrue', 'description' => 'Do not deploy, echo output only'));
     $parser->addOption('filter', array('long_name' => '--filter', 'optional' => true, 'action' => 'StoreString', 'description' => 'rST filter name (e.g. "aida")'));
     $parser->addOption('confluence_host', array('long_name' => '--confluence-host', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence host name (with http://)', 'help_name' => 'host'));
     $parser->addOption('confluence_space', array('long_name' => '--confluence-space', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence space name', 'help_name' => 'space'));
     $parser->addOption('confluence_page', array('long_name' => '--confluence-page', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence page name', 'help_name' => 'page'));
 }
开发者ID:netresearch,项目名称:deploy-rst,代码行数:17,代码来源:Confluence.php


示例6: createParser

 /**
  * Creates the command line parser and populates it with all allowed
  * options and parameters.
  *
  * @return Console_CommandLine CommandLine object
  */
 protected function createParser()
 {
     $parser = new Console_CommandLine();
     $parser->description = 'CLI interface to GeSHi, the generic syntax highlighter';
     $parser->version = '0.1.0';
     /*
     $parser->addOption('outfile', array(
         'short_name'  => '-o',
         'long_name'   => '--outfile',
         'description' => 'File to save output to',
         'help_name'   => 'FILE',
         'action'      => 'StoreString'
     ));
     */
     $parser->addOption('format', array('short_name' => '-f', 'long_name' => '--format', 'description' => 'Format of file to highlight (e.g. php).', 'help_name' => 'FORMAT', 'action' => 'StoreString', 'default' => false));
     $parser->addOption('renderer', array('short_name' => '-r', 'long_name' => '--renderer', 'description' => 'Renderer to use', 'help_name' => 'RENDERER', 'action' => 'StoreString', 'default' => 'html', 'choices' => array_keys(self::$arRenderers), 'list' => array_keys(self::$arRenderers), 'add_list_option' => true));
     $parser->addArgument('infile', array('help_name' => 'source file'));
     return $parser;
 }
开发者ID:rockylo,项目名称:geshi-1.1,代码行数:25,代码来源:geshi-cli.php


示例7: getParser

 /**
  * Returns a parser of the command line arguments.
  */
 function getParser()
 {
     require_once 'Console/CommandLine.php';
     $parser = new \Console_CommandLine(array('name' => 'hnu', 'description' => 'Photon command line manager.', 'version' => VERSION));
     $options = array('verbose' => array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'turn on verbose output'), 'conf' => array('long_name' => '--conf', 'action' => 'StoreString', 'help_name' => 'path/conf.php', 'description' => 'where the configuration is to be found. By default, the configuration file is the config.php in the current working directory'));
     foreach ($options as $name => $option) {
         $parser->addOption($name, $option);
     }
     $cmds = array('init' => array('desc' => 'generate the skeleton of a new Photon project in the current folder'), 'pot' => array('desc' => 'generate a standard gettext template file for the project (.pot)', 'opts' => array('potfile' => array('long_name' => '--pot-file', 'action' => 'StoreString', 'help_name' => 'myproject.pot', 'description' => 'Output filename for the gettext template'))), 'show-config' => array('desc' => 'Dump the config file on the standard output, usefull to show phar packaged configuration'), 'serve' => array('desc' => 'start a Photon handler server', 'opts' => array('server_id' => array('long_name' => '--server-id', 'action' => 'StoreString', 'help_name' => 'id', 'description' => 'set the Photon handler id'), 'daemonize' => array('long_name' => '--daemonize', 'action' => 'StoreTrue', 'description' => 'run as daemon'))), 'worker' => array('desc' => 'start a Photon worker', 'args' => array('task' => array('description' => 'the name of the worker task')), 'opts' => array('server_id' => array('long_name' => '--server-id', 'action' => 'StoreString', 'help_name' => 'id', 'description' => 'set the Photon task id'), 'daemonize' => array('long_name' => '--daemonize', 'action' => 'StoreTrue', 'description' => 'run as daemon'))), 'test' => array('desc' => 'run the tests of your project. Uses config.test.php as default config file', 'opts' => array('directory' => array('long_name' => '--coverage-html', 'action' => 'StoreString', 'help_name' => 'path/folder', 'description' => 'directory to store the code coverage report'), 'bootstrap' => array('long_name' => '--bootstrap', 'action' => 'StoreString', 'help_name' => 'path/bootstrap.php', 'description' => 'bootstrap PHP file given to PHPUnit. By default the photon/testbootstrap.php file'))), 'selftest' => array('desc' => 'run the Photon self test procedure', 'opts' => array('directory' => array('long_name' => '--coverage-html', 'action' => 'StoreString', 'help_name' => 'path/folder', 'description' => 'directory to store the code coverage report'))), 'package' => array('desc' => 'package a project as a standalone .phar file', 'args' => array('project' => array('description' => 'the name of the project')), 'opts' => array('conf_file' => array('long_name' => '--include-conf', 'action' => 'StoreString', 'help_name' => 'path/config.prod.php', 'description' => 'path to the configuration file used in production'), 'composer' => array('long_name' => '--composer', 'action' => 'StoreTrue', 'description' => 'Build a phar for the composer version of photon'), 'exclude_files' => array('long_name' => '--exclude-files', 'action' => 'StoreString', 'help_name' => '\\..*', 'description' => 'comma separated list of patterns matching files to exclude'))), 'makekey' => array('desc' => 'prints out a unique random secret key for your configuration', 'opts' => array('length' => array('long_name' => '--length', 'action' => 'StoreInt', 'description' => 'length of the generate secret key (64)'))));
     $def_cmd = array('opts' => array(), 'args' => array());
     foreach ($cmds as $name => $cmd) {
         $pcmd = $parser->addCommand($name, array('description' => $cmd['desc']));
         $cmd = array_merge($def_cmd, $cmd);
         foreach ($cmd['opts'] as $oname => $oinfo) {
             $pcmd->addOption($oname, $oinfo);
         }
         foreach ($cmd['args'] as $aname => $ainfo) {
             $pcmd->addArgument($aname, $ainfo);
         }
     }
     return $parser;
 }
开发者ID:photon,项目名称:photon,代码行数:25,代码来源:photon.php


示例8: _readCommandLineRequest

 protected function _readCommandLineRequest()
 {
     $parser = new Console_CommandLine();
     $parser->description = "Lion Framework " . LION_VERSION_NUMBER . ' (built: ' . LION_VERSION_BUILD_DATE . ")\n" . "An open source PHP Framework for rapid development of PHP web applications";
     $parser->version = LION_VERSION_NUMBER;
     $parser->addOption('clearcache', array('short_name' => '-c', 'long_name' => '--clearcache', 'description' => 'clear the cache', 'action' => 'StoreTrue'));
     // Adding an option that will store a string
     $parser->addOption('info', array('short_name' => '-i', 'long_name' => '--info', 'description' => 'show the runtime directives', 'action' => 'StoreTrue'));
     // Adding an option that will store a string
     $parser->addOption('bootstrap', array('short_name' => '-b', 'long_name' => '--bootstrap', 'description' => 'bootstrap a new application', 'action' => 'StoreTrue'));
     // Adding an option that will store a string
     $parser->addOption('controller', array('long_name' => '--controller', 'description' => 'executes the given controller', 'action' => 'StoreString'));
     // Adding an option that will store a string
     $parser->addOption('action', array('long_name' => '--action', 'description' => 'executes the given action', 'action' => 'StoreString'));
     return $parser;
 }
开发者ID:laiello,项目名称:lion-framework,代码行数:16,代码来源:CommandLineController.class.php


示例9: buildParser2

/**
 * Build a parser instance and return it.
 *
 * @return object Console_CommandLine instance
 */
function buildParser2()
{
    $parser = new Console_CommandLine();
    $parser->name = 'some_program';
    $parser->version = '0.1.0';
    $parser->description = 'Description of our parser goes here...';
    // add general options
    $parser->addOption('verbose', array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'verbose mode'));
    $parser->addOption('logfile', array('short_name' => '-l', 'long_name' => '--logfile', 'action' => 'StoreString', 'description' => 'path to logfile'));
    // install subcommand
    $cmd1 = $parser->addCommand('install', array('description' => 'install given package'));
    $cmd1->addOption('force', array('short_name' => '-f', 'long_name' => '--force', 'action' => 'StoreTrue', 'description' => 'force installation'));
    $cmd1->addArgument('package', array('description' => 'package to install'));
    // uninstall subcommand
    $cmd2 = $parser->addCommand('uninstall', array('description' => 'uninstall given package'));
    $cmd2->addArgument('package', array('description' => 'package to uninstall'));
    return $parser;
}
开发者ID:hnw,项目名称:php425,代码行数:23,代码来源:tests.inc.php


示例10: getCommandLineParser

 /**
  * Gets the CLI parser for this pinentry
  *
  * @return Console_CommandLine the CLI parser for this pinentry.
  */
 protected function getCommandLineParser()
 {
     return Console_CommandLine::fromXmlFile($this->getUIXML());
 }
开发者ID:remicollet,项目名称:Crypt_GPG,代码行数:9,代码来源:PinEntry.php


示例11: Console_CommandLine

 * 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 <[email protected]>
 * @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' => 'zip given files using the php zip module.', 'version' => '1.0.0'));
// add an option to make the program verbose
$parser->addOption('verbose', array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'turn on verbose output'));
// add an option to delete original files after zipping
$parser->addOption('delete', array('short_name' => '-d', 'long_name' => '--delete', 'action' => 'StoreString', 'description' => 'delete original files after zip operation', 'choices' => array('foo', 'bar'), 'add_list_option' => true));
// add the files argument, the user can specify one or several files
$parser->addArgument('files', array('multiple' => true, 'description' => 'list of files to zip separated by spaces'));
// add the zip file name argument
$parser->addArgument('zipfile', array('description' => 'zip file name'));
// run the parser
try {
    $result = $parser->parse();
    // write your program here...
    print_r($result->options);
    print_r($result->args);
} catch (Exception $exc) {
开发者ID:liujingyu,项目名称:phpuml,代码行数:31,代码来源:ex1.php


示例12: Console_CommandLine

#!/usr/bin/env php
<?php 
/**
 * Verify Phar archive signature using a public key file
 *
 * This file is part of the PharUtil library.
 * @author Krzysztof Kotowicz <kkotowicz at gmail dot com>
 * @package PharUtil
 */
// Include the Console_CommandLine package.
require_once 'Console/CommandLine.php';
require_once 'PharUtil/RemotePharVerifier.php';
// create the parser
$parser = new Console_CommandLine(array('description' => 'Verify Phar archive signature using a public key file', 'version' => '@package_version@', 'name' => 'phar-verify'));
$parser->addOption('public', array('short_name' => '-P', 'long_name' => '--public', 'action' => 'StoreString', 'default' => './cert/pub.pem', 'description' => "Public key file (PEM) to verify signature\n(./cert/pub.pem by default)"));
$parser->addOption('nosign', array('short_name' => '-n', 'long_name' => '--ns', 'action' => 'StoreTrue', 'description' => 'Archive is not signed, don\'t require an OpenSSL signature'));
$parser->addOption('temp', array('short_name' => '-t', 'long_name' => '--temp', 'action' => 'StoreString', 'description' => 'Temporary directory (' . sys_get_temp_dir() . ' by default)'));
$parser->addArgument('phar', array('action' => 'StoreString', 'description' => "Input Phar archive URI e.g.\n/path/to/local/phar.phar or http://path/to/remote/phar.phar"));
// run the parser
try {
    $result = $parser->parse();
} catch (Exception $exc) {
    $parser->displayError($exc->getMessage());
}
$options = $result->options;
$args = $result->args;
echo $parser->name . ' ' . $parser->version . PHP_EOL . PHP_EOL;
// validate parameters
if (substr($args['phar'], -5) !== '.phar') {
    $parser->displayError("Input Phar must have .phar extension, {$args['phar']} given.", 2);
}
开发者ID:richarrj,项目名称:phar-util,代码行数:31,代码来源:phar-verify.php


示例13: define

 */
/**
 * @copyright Copyright 2010-2011
 * @author Edward Rudd <urkle at outoforder.cc>
 */
if (!defined('__DIR__')) {
    define('__DIR__', dirname(__FILE__));
}
// Pull in the configuration file.. (Yes this actually works)
$config = (include __DIR__ . "/config.php");
// Set debugging if enabled
define('DEBUG', !empty($config->debug));
// Load up the class auto loader
require_once __DIR__ . "/../classes/Init.php";
include "common.php";
$parser = new Console_CommandLine();
$parser->description = "Convers the raw spell icons into strips for the trainer";
$parser->version = "0.0.1";
$parser->addOption('newsize', array('long_name' => '--size', 'description' => 'Size of new icons', 'default' => 64, 'help_name' => 'SIZE', 'action' => 'StoreInt'));
$parser->addOption('prefix', array('long_name' => '--prefix', 'description' => 'The output filename prefix', 'default' => 'trainer-icon-', 'help_name' => 'PREFIX'));
$parser->addArgument('mapfile', array('description' => 'The input JSON map file process', 'help_name' => 'INPUTFILE'));
$parser->addArgument('outputdir', array('description' => 'The output dir for images', 'help_name' => 'OUTPUTDIR'));
try {
    $args = $parser->parse();
} catch (Exception $ex) {
    $parser->displayError($ex->getMessage());
}
$map = json_decode(file_get_contents($args->args['mapfile']));
$size = $args->options['newsize'];
$imagedir = dirname($args->args['mapfile']);
$imageunused = $imagedir . DIRECTORY_SEPARATOR . 'unused';
开发者ID:Anpu,项目名称:INQ-Calculators,代码行数:31,代码来源:trainer.php


示例14: buildParser4

/**
 * Build a parser instance and return it.
 *
 * For testing custom messages.
 *
 * @return object Console_CommandLine instance
 */
function buildParser4()
{
    $parser = new Console_CommandLine(array('messages' => array('INVALID_SUBCOMMAND' => 'Only "upgrade" is supported.')));
    $parser->name = 'some_program';
    $parser->version = '0.1.0';
    $parser->description = 'Description of our parser goes here...';
    // some subcommand
    $cmd1 = $parser->addCommand('upgrade', array('description' => 'upgrade given package', 'aliases' => array('up'), 'messages' => array('ARGUMENT_REQUIRED' => 'Package name is required.', 'OPTION_VALUE_REQUIRED' => 'Option requires value.', 'OPTION_VALUE_UNEXPECTED' => 'Option should not have a value.', 'OPTION_UNKNOWN' => 'Mysterious option encountered.')));
    // add option
    $cmd1->addOption('state', array('short_name' => '-s', 'long_name' => '--state', 'action' => 'StoreString', 'choices' => array('stable', 'beta'), 'description' => 'accepted package states', 'messages' => array('OPTION_VALUE_NOT_VALID' => 'Valid states are "stable" and "beta".')));
    // add another option
    $cmd1->addOption('dry_run', array('short_name' => '-d', 'long_name' => '--dry-run', 'action' => 'StoreTrue', 'description' => 'dry run'));
    // add argument
    $cmd1->addArgument('package', array('description' => 'package to upgrade'));
    return $parser;
}
开发者ID:ntemple,项目名称:intelli-plancake,代码行数:23,代码来源:tests.inc.php


示例15: set_include_path

<?php

/**
 * @since 2015-10-15
 * @author Alban
 * @license GPL v2
 */
// Load bootstrap for autoload and logger
set_include_path(".:" . get_include_path());
require_once "bootstrap.php";
// Instanciate export service
$service = new Alternc_Tools_Domains_Import(array("db" => $db));
// Instanciate command line parser
$consoleParser = new Console_CommandLine(array("description" => "Imports Alternc domains from a file for import and gets ready for sync."));
// Configure command line parser
$consoleParser->add_version_option = false;
$consoleParser->addOption("input_file", array("help_name" => "/tmp/out.json", "short_name" => "-i", "long_name" => "--input-file", "description" => "Input file name and path", 'default' => $service->default_input));
$consoleParser->addOption("restrict_input_file", array("help_name" => "/tmp/missing.txt", "short_name" => "-r", "long_name" => "--restrict-file", "description" => "Domain list, one per line. Others won't be imported.", 'default' => ""));
$consoleParser->addOption("force_uid", array("help_name" => "2001", "short_name" => "-u", "long_name" => "--force-uid", "description" => "Force the domain owner", 'default' => null));
// Run the command line parser
try {
    $commandLineResult = $consoleParser->parse();
    // Run the service
    if (!($result = $service->import($commandLineResult))) {
        throw new \Exception("Import process failed");
    }
    $message = "";
    $level = Logger\AbstractLogger::INFO;
    if (isset($result["message"])) {
        $message .= $result["message"] . "\n";
    }
开发者ID:AlternC,项目名称:alternc-tools,代码行数:31,代码来源:target_create_domains.php


示例16: run

 /**
  * Entry-point for Erebot.
  *
  * \return
  *      This method never returns.
  *      Instead, the program exits with an appropriate
  *      return code when Erebot is stopped.
  */
 public static function run()
 {
     // Apply patches.
     \Erebot\Patches::patch();
     // Load the configuration for the Dependency Injection Container.
     $dic = new \Symfony\Component\DependencyInjection\ContainerBuilder();
     $dic->setParameter('Erebot.src_dir', __DIR__);
     $loader = new \Symfony\Component\DependencyInjection\Loader\XmlFileLoader($dic, new \Symfony\Component\Config\FileLocator(getcwd()));
     $dicConfig = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'defaults.xml';
     $dicCwdConfig = getcwd() . DIRECTORY_SEPARATOR . 'defaults.xml';
     if (!strncasecmp(__FILE__, 'phar://', 7)) {
         if (!file_exists($dicCwdConfig)) {
             copy($dicConfig, $dicCwdConfig);
         }
         $dicConfig = $dicCwdConfig;
     } elseif (file_exists($dicCwdConfig)) {
         $dicConfig = $dicCwdConfig;
     }
     $loader->load($dicConfig);
     // Determine availability of PHP extensions
     // needed by some of the command-line options.
     $hasPosix = in_array('posix', get_loaded_extensions());
     $hasPcntl = in_array('pcntl', get_loaded_extensions());
     $logger = $dic->get('logging');
     $localeGetter = $dic->getParameter('i18n.default_getter');
     $coreTranslatorCls = $dic->getParameter('core.classes.i18n');
     $translator = new $coreTranslatorCls("Erebot\\Core");
     $categories = array('LC_MESSAGES', 'LC_MONETARY', 'LC_TIME', 'LC_NUMERIC');
     foreach ($categories as $category) {
         $locales = call_user_func($localeGetter);
         $locales = empty($locales) ? array() : array($locales);
         $localeSources = array('LANGUAGE' => true, 'LC_ALL' => false, $category => false, 'LANG' => false);
         foreach ($localeSources as $source => $multiple) {
             if (!isset($_SERVER[$source])) {
                 continue;
             }
             if ($multiple) {
                 $locales = explode(':', $_SERVER[$source]);
             } else {
                 $locales = array($_SERVER[$source]);
             }
             break;
         }
         $translator->setLocale($translator->nameToCategory($category), $locales);
     }
     // Also, include some information about the version
     // of currently loaded PHAR modules, if any.
     $version = 'dev-master';
     if (!strncmp(__FILE__, 'phar://', 7)) {
         $phar = new \Phar(\Phar::running(true));
         $md = $phar->getMetadata();
         $version = $md['version'];
     }
     if (defined('Erebot_PHARS')) {
         $phars = unserialize(Erebot_PHARS);
         ksort($phars);
         foreach ($phars as $module => $metadata) {
             if (strncasecmp($module, 'Erebot_Module_', 14)) {
                 continue;
             }
             $version .= "\n  with {$module} version {$metadata['version']}";
         }
     }
     \Console_CommandLine::registerAction('StoreProxy', '\\Erebot\\Console\\StoreProxyAction');
     $parser = new \Console_CommandLine(array('name' => 'Erebot', 'description' => $translator->gettext('A modular IRC bot written in PHP'), 'version' => $version, 'add_help_option' => true, 'add_version_option' => true, 'force_posix' => false));
     $parser->accept(new \Erebot\Console\MessageProvider());
     $parser->renderer->options_on_different_lines = true;
     $defaultConfigFile = getcwd() . DIRECTORY_SEPARATOR . 'Erebot.xml';
     $parser->addOption('config', array('short_name' => '-c', 'long_name' => '--config', 'description' => $translator->gettext('Path to the configuration file to use instead ' . 'of "Erebot.xml", relative to the current ' . 'directory.'), 'help_name' => 'FILE', 'action' => 'StoreString', 'default' => $defaultConfigFile));
     $parser->addOption('daemon', array('short_name' => '-d', 'long_name' => '--daemon', 'description' => $translator->gettext('Run the bot in the background (daemon).' . ' [requires the POSIX and pcntl extensions]'), 'action' => 'StoreTrue'));
     $noDaemon = new \Erebot\Console\ParallelOption('no_daemon', array('short_name' => '-n', 'long_name' => '--no-daemon', 'description' => $translator->gettext('Do not run the bot in the background. ' . 'This is the default, unless the -d option ' . 'is used or the bot is configured otherwise.'), 'action' => 'StoreProxy', 'action_params' => array('option' => 'daemon')));
     $parser->addOption($noDaemon);
     $parser->addOption('pidfile', array('short_name' => '-p', 'long_name' => '--pidfile', 'description' => $translator->gettext("Store the bot's PID in this file."), 'help_name' => 'FILE', 'action' => 'StoreString', 'default' => null));
     $parser->addOption('group', array('short_name' => '-g', 'long_name' => '--group', 'description' => $translator->gettext('Set group identity to this GID/group during ' . 'startup. The default is to NOT change group ' . 'identity, unless configured otherwise.' . ' [requires the POSIX extension]'), 'help_name' => 'GROUP/GID', 'action' => 'StoreString', 'default' => null));
     $parser->addOption('user', array('short_name' => '-u', 'long_name' => '--user', 'description' => $translator->gettext('Set user identity to this UID/username during ' . 'startup. The default is to NOT change user ' . 'identity, unless configured otherwise.' . ' [requires the POSIX extension]'), 'help_name' => 'USER/UID', 'action' => 'StoreString', 'default' => null));
     try {
         $parsed = $parser->parse();
     } catch (\Exception $exc) {
         $parser->displayError($exc->getMessage());
         exit(1);
     }
     // Parse the configuration file.
     $config = new \Erebot\Config\Main($parsed->options['config'], \Erebot\Config\Main::LOAD_FROM_FILE, $translator);
     $coreCls = $dic->getParameter('core.classes.core');
     $bot = new $coreCls($config, $translator);
     $dic->set('bot', $bot);
     // Use values from the XML configuration file
     // if there is no override from the command line.
     $overrides = array('daemon' => 'mustDaemonize', 'group' => 'getGroupIdentity', 'user' => 'getUserIdentity', 'pidfile' => 'getPidfile');
     foreach ($overrides as $option => $func) {
         if ($parsed->options[$option] === null) {
             $parsed->options[$option] = $config->{$func}();
//.........这里部分代码省略.........
开发者ID:erebot,项目名称:erebot,代码行数:101,代码来源:CLI.php


示例17: validate

 /**
  * Validates the xml definition using Relax NG.
  *
  * @param DomDocument $doc The document to validate
  *
  * @return boolean Whether the xml data is valid or not.
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public static function validate($doc)
 {
     $pkgRoot = __DIR__ . '/../../';
     $paths = array('@data_dir@/Console_CommandLine/data/xmlschema.rng', $pkgRoot . 'data/Console_CommandLine/data/xmlschema.rng', $pkgRoot . 'data/console_commandline/data/xmlschema.rng', $pkgRoot . 'data/xmlschema.rng', 'xmlschema.rng');
     foreach ($paths as $path) {
         if (is_readable($path)) {
             return $doc->relaxNGValidate($path);
         }
     }
     Console_CommandLine::triggerError('invalid_xml_file', E_USER_ERROR, array('{$file}' => $rngfile));
 }
开发者ID:pear,项目名称:console_commandline,代码行数:20,代码来源:XmlParser.php


示例18: sprintf

    global $color;
    if ($color) {
        if ($medianDiff > 0) {
            $medianDiffStr = $color->convert("%r" . $color->escape($medianDiffStr) . "%n");
        } else {
            $medianDiffStr = $color->convert("%g" . $color->escape($medianDiffStr) . "%n");
        }
    }
    echo $newTime['name'] . ' : ' . $medianDiffStr . PHP_EOL;
    echo sprintf('  median  : %01.2fms -> %01.2fms', $oldMedian, $newMedian) . PHP_EOL;
    echo sprintf('  average : %01.2fms -> %01.2fms', $oldAverage, $newAverage) . PHP_EOL;
    echo sprintf('  max     : %01.2fms -> %01.2fms', $oldMax, $newMax) . PHP_EOL;
    echo PHP_EOL;
}
// Set up the command line parser.
$parser = new Console_CommandLine(array('name' => 'run_benchmarks', 'description' => 'The PieCrust benchmarks suite', 'version' => PieCrust\PieCrustDefaults::VERSION));
$parser->addOption('hostname', array('long_name' => '--hostname', 'description' => "The hostname to use to store the benchmark results.", 'default' => php_uname("n"), 'help_name' => 'HOSTNAME'));
// Parse user arguments.
try {
    $result = $parser->parse();
} catch (Exception $ex) {
    $parser->displayError($ex->getMessage());
    return 1;
}
// Run!
$b = new ApplicationBenchmark();
$newTimes = $b->runAllBenchmarks();
// Get the results and save them.
$hostname = $result->options['hostname'];
if (is_file('benchmarks.yml')) {
    $oldTimes = Yaml::parse('benchmarks.yml');
开发者ID:giftnuss,项目名称:PieCrust,代码行数:31,代码来源:run_benchmarks.php


示例19: Console_CommandLine

<?php

// Load vendor lib paths from Composer
require_once 'vendor/autoload.php';
// Actual required libs
require_once 'Console/CommandLine.php';
$cmdline_parser = new Console_CommandLine();
$cmdline_parser->addArgument('inputFile', array('description' => 'Clover XML file'));
$cmdline_parser->addArgument('minPercentage', array('description' => 'Minimum percentage required to pass'));
$cmdline_parser->addOption('print_uncovered', array('short_name' => '-u', 'long_name' => '--uncovered', 'description' => 'Output uncovered lines', 'action' => 'StoreTrue'));
$cmdline_parser->addOption('print_uncovered_verbose', array('short_name' => '-v', 'long_name' => '--uncovered-verbose', 'description' => 'Output uncovered lines - more verbosely', 'action' => 'StoreTrue'));
$cmdline_parser->addOption('print_uncovered_verbose_whitespace', array('short_name' => '-w', 'long_name' => '--uncovered-verbose-whitespace', 'description' => 'Output uncovered lines - even if they contain only whitespace', 'action' => 'StoreTrue'));
$cmdline_result = $cmdline_parser->parse();
$inputFile = $cmdline_result->args['inputFile'];
$percentage = min(100, max(0, (int) $cmdline_result->args['minPercentage']));
if (!file_exists($inputFile)) {
    throw new InvalidArgumentException('Invalid input file provided');
}
if (!$percentage) {
    throw new InvalidArgumentException('An integer checked percentage must be given as second parameter');
}
$xml = new SimpleXMLElement(file_get_contents($inputFile));
$metrics = $xml->xpath('//metrics');
$totalElements = 0;
$checkedElements = 0;
foreach ($metrics as $metric) {
    $totalElements += (int) $metric['elements'];
    $checkedElements += (int) $metric['coveredelements'];
}
$coverage = $checkedElements / $totalElements * 100;
$exit_code = 0;
开发者ID:mobilerider,项目名称:mobilerider-client-php,代码行数:31,代码来源:coverage-checker.php


示例20: parseArguments

 public static function parseArguments()
 {
     $main = new \Console_CommandLine();
     $main->addOption('out', array('short_name' => '-o', 'long_name' => '--out', 'action' => 'StoreString', 'description' => 'destination directory for generated files', 'default' => './'));
     $main->addOption('include', array('short_name' => '-i', 'long_name' => '--include', 'action' => 'StoreArray', 'description' => 'define an include path (can be repeated)', 'multiple' => true));
     $main->addOption('json', array('short_name' => '-j', 'long_name' => '--json', 'action' => 'StoreTrue', 'description' => 'turn on ProtoJson Javascript file generation'));
     $main->addOption('protoc', array('long_name' => '--protoc', 'action' => 'StoreString', 'default' => 'protoc', 'description' => 'protoc compiler executable path'));
     $main->addOption('skipImported', array('long_name' => '--skip-imported', 'action' => 'StoreTrue', 'default' => false, 'description' => 'do not generate imported proto files'));
     $main->addOption('comments', array('long_name' => '--comments', 'action' => 'StoreTrue', 'description' => 'port .proto comments to generated code'));
     $main->addOption('insertions', array('long_name' => '--insertions', 'action' => 'StoreTrue', 'description' => 'generate @@protoc insertion points'));
     $main->addOption('define', array('short_name' => '-D', 'long_name' => '--define', 'action' => 'StoreArray', 'multiple' => true, 'description' => 'define a generator option (ie: -Dmultifile -Dsuffix=pb.php)'));
     $main->addOption('verbose', array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'turn on verbose output'));
     $main->addArgument('protos', array('multiple' => true, 'description' => 'proto files'));
     try {
         echo 'Proto 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Console_Getopt类代码示例发布时间:2022-05-23
下一篇:
PHP ConsoleOptionParser类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap