thinkphp中的commond这个方法是干什么用的,参数怎么写

 我来答
miniappcy3tv95eaedrf
2019-04-04 · TA获得超过2363个赞
知道大有可为答主
回答量:1909
采纳率:92%
帮助的人:1121万
展开全部

thinkphp5.1中,command用于编写可在命令行执行的方法,入口是根目录的  think 这个文件

编写文件 application/common/command/Testing.php

namespace app\common\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;

class Testing extends Command
{
    protected function configure()
    {
        $this->setName('testing')
            ->addArgument('action', Argument::REQUIRED, "test argument")
            ->addOption('username', 'u', Option::VALUE_OPTIONAL, 'username, test')
            ->setDescription('Testing command');
    }
    
    /**
     * 命令调度
     * @param Input $input
     * @param Output $output
     * @return mixed
     */
    protected function execute(Input $input, Output $output)
    {
        $action=$input->getArgument('action');
        
        $output->writeln('received argument action: '.$action);
        
        if($input->hasOption('username')){
            $username = $input->getOption('username');
            $output->writeln('received option username: '.$username );
        }
        
        $output->writeln('exit.');
    }
}

增加配置 application/command.php

<?php

return [
    'testing'=>'app\common\command\Testing',
];

命令行测试 切换到application上级目录( think文件所在的目录 )

php think testing mockAction -u mockUsername

即可看到执行结果 

文档参考:thinkphp 命令行 自定义指令

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式