美文网首页PHP程序员
thinkphp如何自定义指令

thinkphp如何自定义指令

作者: php转go | 来源:发表于2020-08-27 09:24 被阅读0次

通过指令方式来快速创建

php think  make:command Test
#如果要增加目录
php think  make:command   /aaa/Test

默认就在app目录下生成一个command目录,并且生成 Test.php

namespace app\command;

use think\console\Command;
use think\console\Input;
use think\console\Output;

class Test extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('test');
        // 设置参数
           $this->addArgument('name', Argument::OPTIONAL, "your name");
            $this->addOption('city', null, Option::VALUE_REQUIRED, 'city name')
    }

    protected function execute(Input $input, Output $output)
    {
       $aaa = trim($input->getArgument('aaa'));
        var_dump($aaa);
        $bbb = trim($input->getArgument('bbb'));
        var_dump($bbb );
        if ($input->hasOption('ccc')) {
            $ccc =  $input->getOption('ccc');
            var_dump($ccc);
        }
        // 指令输出
           $output->writeln("test," . $name . '!' . $city);
    }
}

自己创建文件的方式

第一步,创建一个自定义命令类文件,可以自定义位置,新建application/common/command/Test.php,格式看上面代码
第二步,配置application/command.php文件

<?php
return [
    'app\common\command\Test',
   #或者 指令名 =》完整的类名  V5.1.24+版本才支持
    'test'  =>    'app\common\command\Test',
];

这个文件定义了一个叫test的命令,并设置了一个aaa参数 bbb参数和一个ccc选项。

可以直接执行打印指令

php think test  #打印出 test
php think test  11 22 --ccc   123  

相关文章

网友评论

    本文标题:thinkphp如何自定义指令

    本文链接:https://www.haomeiwen.com/subject/itrfsktx.html