本文整理汇总了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] . ')');
}
}
}