Файловый менеджер - Редактировать - C:/xampp/php/PEAR/PHPDoc/core/PhpdocArgvHandler.php
Назад
<?php /** * Handles command line arguments. * * Be careful the source has not been tested yet, it's probably very buggy. * Any help and comments are welcome... * * @author Ulf Wendel <ulf@redsys.de> * @version $Id: PhpdocArgvHandler.php,v 1.1 2001/05/08 04:48:36 sbergmann Exp $ */ class PhpdocArgvHandler extends PhpdocObject { /** * Message explaining the usage of phpdoc on the command line. * * Actually it's not the message itself but an array containing * the instructions. The array is indexed by the command line option e.g. "-h". * The array values hold a short message describing the usage of the option. * * @var array * @access private */ var $COMMANDS = array( "-f filename [, filename]" => "name of files to parse", "-d directory" => "name of a directory to parse", "-p path" => "path of the files", "-t target" => "path where to save the generated files, default is the current path", "-h" => "show this help message" ); /** * Handle the command line values * * handleArgv() looks for command line values and * interprets them. If there're unknown command it prints * a message and calls die() */ function handleArgv() { global $argv, $argc; // the first argv is the name of the script, // so there must be at least another one if ($argc < 2) { $error = "\n\nCould not understand your request.\n\n"; $error .= $this->getArgvHelpMessage(); print $error; die(); } $commands = 0; $errors = array(); reset($argv); // skip the fist, it's the name of the php script next($argv); while (list($k, $arg) = each($argv)) { // valid command? if ("-" != substr($arg, 0, 1)) continue; $cmd = substr($arg, 1, 2); $value = trim(substr($arg, 3)); // all command line options except -h require values if (""==$value && "h"!=$cmd) { $errors[] = array( "msg" => sprintf("-%s: no value found", trim($cmd)), "type" => "argv" ); // skip this command continue; } switch ($cmd) { case "f ": $files = explode(",", substr($arg, 3)); $this->setFiles($files); $commands++; break; case "d ": $this->setDirectory($value); $commands++; break; case "p ": $this->setPath($value); $commands++; break; case "t ": $this->setTarget($value); $commands++; break; case "h ": $commands++; break; default: $errors[]="unknown command: '$arg'"; break; } } // are there enough informations to start work? $errors = $this->checkStatus($errors); // check for errors and die() if neccessary if (count($errors)>0) { $error = "\n\nCould not understand your request.\n\n"; reset($errors); while (list($k, $data)=each($errors)) $error.=$data["msg"]."\n"; $error.= $this->getArgvHelpMessage(); print $error; die(); } // no errors, but no recognized commands? die() if neccessary if (0==$commands) { $error = "\n\nCould not understand your request.\n\n"; $error.= $this->getArgvHelpMessage(); print $error; die(); } // YEAH everything is fine, we can start working! $this->parse(); } // end func handleArgv /** * Returns the current help message of phpdoc * * The message is not HTML formated, it could be shown * on the command line. * * @access private * @return string $help_msg Some instructions on available command line options * @see handleArgv(), $COMMANDS */ function getArgvHelpMessage() { $help_msg = ""; // generate the message from the COMMAND array reset($this->COMMANDS); while (list($param, $explanation)=each($this->COMMANDS)) $help_msg.= sprintf("%-28s%s\n", $param, $explanation); $help_msg.="\nFurter information can be found in the documentation.\n"; return $help_msg; } // end func getArgvHelpMessage } // end class PhpdocArgvHandler ?>
| ver. 1.4 |
Github
|
.
| PHP 5.3.8 | Генерация страницы: 0.12 |
proxy
|
phpinfo
|
Настройка