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";
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Composer Repositories Composer源 Firegento - Magento模块Comp...
    零一间阅读 3,973评论 1 66
  • Awesome PHP 一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、W...
    guanguans阅读 5,918评论 0 47
  • awesome-php 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需... 这个列表...
    guanguans阅读 4,629评论 0 34
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,539评论 0 5
  • 这几天有关美国的新闻总少不了联邦政府又一次关门这个热点,1月20日非核心部门放假,1月23日又重新开业。 为什么要...
    那些年的回忆1980阅读 115评论 0 0