thinkphp 创建自定义命令行
2022-07-28 14:14:58
148
{{single.collect_count}}

1,以为下方图片为例,在api模块下创建了一个command目录,然后创建自己所需要的命令行执行文件
我的执行文件未Online.php
在这里插入图片描述
以下为代码实例

<?phpnamespace app\api\command;use think\console\Input;use think\console\input\Argument;use think\console\Output;use think\console\Command;/** * @package app\api\command */class Online extends Command{/** * 配置指令 */protected function configure(){$this->addArgument('task_id', Argument::OPTIONAL);$this->addArgument('sex', Argument::OPTIONAL);//此处为获取执行命令的参数,并且定义参数key$this->setName('online:member')->setDescription('online member');}protected function execute(Input $input, Output $output){$args = $input->getArguments();$task_id=$args['task_id'];$sex=$args['sex'];}}

代码解读
此处需要继承thinkphp的command类,才能让你的执行文件加载
configure 为配置方法
$this->addArgument(‘task_id’, Argument::OPTIONAL);为获取命令中的参数
比如 php think online:member 1 2
那么第一个 task_id=1
第二个 task_id=2
execute 执行方法
$args = $input->getArguments(); 获取定义的参数

然后在application/你的模块目录下创建command.php
这些搞定后,找到thinkphp config目录
直接 return你的命名空间即可使用了

<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: yunwuxin <448901948@qq.com>// +----------------------------------------------------------------------return ['app\api\command\Online'];

那么就让我们来一起试一试吧

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}