*/ class Console { /** * 命令行参数 * @var array */ protected $params = []; /** * Console constructor. */ public function __construct() { if((int)ini_get('memory_limit')<1024){ ini_set('memory_limit','1024M'); } set_time_limit(0); $this->params = Registry::get('cli_params', []); } /** * 初始化 */ public function init() { } /** * 终端输出 * * @param $text * @param $status * @param $line * @return mixed */ public function show(string $text, string $status = 'text', bool $line = true): void { printf(Response::terminal($text, $status, $line)); } /** * 终端输出 * * @param string $text * @param bool $line * @return mixed */ public function info(string $text, bool $line = true): void { printf(Response::terminal($text, 'info', $line)); } /** * @param string $text * @param bool $line * @return mixed */ public function success(string $text, bool $line = true): void { printf(Response::terminal($text, 'success', $line)); } /** * @param string $text * @param bool $line * @return mixed */ public function warning(string $text, bool $line = true): void { printf(Response::terminal($text, 'success', $line)); } /** * @param string $text * @param bool $line * @return mixed */ public function error(string $text, bool $line = true): void { printf(Response::terminal($text, 'error', $line)); } /** * 获取参数 * @param string $key * @param string $type * @param null $default * @return array|float|int|mixed|null|string */ public function param(string $key, string $type = 'str', $default = null) { return Input::param($key, $type, $default, $this->params); } /** * 终端给提示获取用户数据 * @param string $text * @param string $status * @return string */ public function prompt(string $text = '请输入', string $status = 'text') { //提示输入 fwrite(STDOUT, Response::terminal($text . ":", $status, false)); //获取用户输入数据 $result = trim(fgets(STDIN)); return $result; } }