通过指令方式来快速创建
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
网友评论