本文整理匯總了PHP中CLI::ACCEPTED方法的典型用法代碼示例。如果您正苦於以下問題:PHP CLI::ACCEPTED方法的具體用法?PHP CLI::ACCEPTED怎麽用?PHP CLI::ACCEPTED使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CLI
的用法示例。
在下文中一共展示了CLI::ACCEPTED方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: switch
function __construct($options = false, $handleUnknown = false)
{
global $argc, $argv;
if ($options !== false) {
self::$ACCEPTED = $options;
}
// Parse params
if ($argc > 1) {
$paramSwitch = false;
for ($i = 1; $i < $argc; $i++) {
$arg = $argv[$i];
$isSwitch = preg_match('/^-+/', $arg);
if ($isSwitch) {
$arg = preg_replace('/^-+/', '', $arg);
}
if ($paramSwitch and $isSwitch) {
$this->error("[param] expected after '{$paramSwitch}' switch (" . self::$ACCEPTED[1][$paramSwitch] . ')');
} else {
if (!$paramSwitch and !$isSwitch) {
if ($handleUnknown) {
$this->params['unknown'][] = $arg;
} else {
$this->error("'{$arg}' is an invalid option, use --help to display valid switches.");
}
} else {
if (!$paramSwitch and $isSwitch) {
if (isset($this->params[$arg])) {
$this->error("'{$arg}' switch can't occur more than once");
}
$this->params[$arg] = true;
if (isset(self::$ACCEPTED[1][$arg])) {
$paramSwitch = $arg;
} else {
if (!isset(self::$ACCEPTED[0][$arg])) {
$this->error("there's no '{$arg}' switch, use --help to display all switches.");
}
}
} else {
if ($paramSwitch and !$isSwitch) {
$this->params[$paramSwitch] = $arg;
$paramSwitch = false;
}
}
}
}
}
}
// Final check
foreach ($this->params as $k => $v) {
if (isset(self::$ACCEPTED[1][$k]) and $v === true) {
$this->error("[param] expected after '{$k}' switch (" . self::$ACCEPTED[1][$k] . ')');
}
}
}