ThinkPHP5.1 CLI命令行模式

今天在改进老项目的时候遇到了需要使用ThinkPHP的CLI模式,也就是命令行模式去运行PHP代码。

普通的PHP使用命令行模式这个就不用我多说了~

其实ThinkPHP5.1关于这个命令行模式官方手册也有介绍。当然,还是记录一下,以防后面忘记了又要翻文档。

当前TP5.1版本是5.1.38,关于查看TP版本,在CMD下输入php think version即可查看


如果输入PHP命令,CMD提示 PHP 不是内部或外部命令也不是可运行的程序,这时候需要设置一下PHP的环境变量,例如我当前的环境是PHPStudy 8.0 和 Windows 10


首先PHP的安装目录下有PHP.EXE文件

ThinkPHP5.1 CLI命令行模式_第1张图片

 

那么就将当前目录地址

D:\soft\phpstudy\Extensions\php\php7.3.4nts

写入到环境变量中去,桌面上右键-此电脑-属性-高级系统设置-环境变量-找到path-编辑-将上面的目录写入。

OK,重启一下CMD,就可以愉快的操作PHP了。

ThinkPHP5.1 CLI命令行模式_第2张图片

ThinkPHP5.1 CLI命令行模式_第3张图片

 

接下来是ThinkPHP的操作

首先在application目录下创建common目录,common目录下创建command目录,在command目录下创建一个test.php(注意大小写!)

ThinkPHP5.1 CLI命令行模式_第4张图片

test.php的内容如下

setName('test')
            ->setDescription('test tp5 cli mode');
    }

    protected function execute(Input $input, Output $output)
    {

        $output->writeln("hello test!");


    }
}

然后在command.php文件写入当前test的命名空间

ThinkPHP5.1 CLI命令行模式_第5张图片

 'app\common\command\test',
];

接着在cmd下输入命令

php think

ThinkPHP5.1 CLI命令行模式_第6张图片

接着输入

php think test

至此就可以愉快的使用命令行模式去使用ThinkPHP5.1

业务代码可以写在execute方法里。例如循环的去读取Redis,循环生成等,不过这种场景最好还是Swoole或者Workman来处理比较好。

 

你可能感兴趣的:(PHP,thinkphp5命令行,thinkphp5,cli,tp5,cli,tp5,命令行模式,thinkphp5)