🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 命令行 使用cli组件用于操作命令行动作,系统已经内置了很多命令比如创建控制器、模型等,当然开发者也可以自行添加命令。 其他产品也可以使用该组件,请登录 [GITHUB](https://github.com/houdunwang/cli) 查看源代码与说明文档。 [TOC] ## 注册命令 添加命令操作动作有两种方式,可以在配置文件中进行设置也可以使用函数动态绑定。 ####配置文件添加 修改配置system/config/cli.php文件中添加绑定指令: ``` return [ //第一个为命令名,第二个为命令处理类 'cms' => 'app\Cms' ]; ``` **命令类文件内容:** ``` <?php namespace app; use houdunwang\cli\build\Base; class Cms extends Base { public function make($a,$b) { //$this->error('操作失败'); $this->success("操作成功,参数a:{$a},参数b:{$b}"); } } ``` ## 命令行执行 经过以上几步设置后就可以在命令行中执行命令了: ``` php hd cms:make ``` ## 程序执行命令 命令除了可以在命令行工作外,也可以使用php函数方式调用。 ``` $res = \Cli::call('hd migrate:make'); if($res===false){ echo \Cli::getError(); } ``` 执行失败时返回false ,错误信息可以使用 Cli::getError()获取到。 ## 动态添加 使用bind 函数可以添加命令,但需要在服务提供者中添加,不能在中间件等添加,因为绑定动作是在控制器、中间件等解析前处理的。 ``` \Cli::bind( 'cms','app\Cms'); ```