1,以为下方图片为例,在api模块下创建了一个command目录,然后创建自己所需要的命令行执行文件
我的执行文件未Online.php
以下为代码实例
<?php
namespace 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
直接 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'];
那么就让我们来一起试一试吧