命令行用法
语法
php boa [命令] [参数]
命令
命令 | 简写 | 说明 |
---|---|---|
help | -h | 查看帮助 |
version | -v | 查看版本 |
build | -b | 初始化构建 |
www | -w | 根据参数创建新实例,例如:-w boasoft.top |
mod | -m | 根据参数创建新模块,例如:-m news |
clear | -c | 清空当前实例缓存 |
install | -i | 根据参数安装已有模块,例如:-i demo |
upgrade | -g | 根据参数升级已有模块,例如:-g demo |
uninstall | -u | 根据参数卸载已有模块,例如:-u demo |
run | -r | 根据参数执行程序,支持输入多个参数, 第一个参数指定要执行的程序,必填,其结构:模块.控制器.动作。 例如:-r news.index.count arg3=1 arg4=2 |
特点
动作同时也可以使用run命令执行,速度更快点。对于缺少的值可以通过配置来模拟,如cookie,配置HTTP_COOKIE
对模块.控制器.动作传参可以使用URL访问时键值对模式,如:a=1 b=2 c=3。在动作中像正常一样取值: $this->参数
交互
用 php boa -r 执行控制器动作,在动作中如下实现命令行交互,参见 input类、 自动验证
$in = new \boa\console\input();
$rule = [ // 输入使用自动验证规则
'label' => '输入值',
'check' => 'required', // 必填
'filter' => 'intval' // 过滤非数字
];
$res = $in->prompt('请输入数字', $rule);
echo '您输入了:'. $res; // 获取验证后的输入,并执行后续操作
表格
除了交互,还可以将数据以表格格式打印出来,参见 output类
$out = new \boa\console\output();
$out->cfg('border', true);
$arr = [[...]]; // 务必二维数组
$out->table($arr);
日志
命令行下日志和CGI环境下日志是分开的,会在日志文件名称中添加.cli来区分,其他基本一致