php shell 交互模式

php shell 交互模式

/**
 * receiveShellInput
 * @desc   接收命令行参数
 * @author chenxiuchao
 * @time 2017年9月27日
 * @param string $message
 * @param string $resMessage
 * @return string
 */
public static function receiveShellInput($message='请输入参数:',$enum=[]){
    $enum = array_map("strtoupper",$enum);
    if(!empty($enum)){
        $enumTemp = (array_keys($enum) !== range(0, count($enum) - 1))?array_map("self::jointStr",array_flip($enum),$enum):$enum;
        $str = implode('|',$enumTemp);
        $message .="[$str]:";
    }
    do{
        fwrite(STDOUT,$message);
        $input = trim(fgets(STDIN));
        if((!empty($enum)) && (!in_array(strtoupper($input),$enum))){
            $input = '';
        }
    }while(!$input);

    echo('您的输入是:'.$input.PHP_EOL);

    return $input;
}

/**
 * jointStr
 * @desc   拼接字符串
 * @author 陈修超
 * @param $v
 * @param $vv
 * @return string
 */
public static function jointStr($v,$vv){
    return "$v:$vv";
}

你可能感兴趣的:(php shell 交互模式)