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文件

 

那么就将当前目录地址

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

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

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

 

接下来是ThinkPHP的操作

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

test.php的内容如下

<?php
/**
 * Created by 九城.
 * Author: 九城
 * QQ : 940993208
 *
 * Date: 2019/9/18
 * Time: 14:34
 */

namespace app\common\command;


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

class test extends Command
{
    protected function configure()
    {
        $this->setName('test')
            ->setDescription('test tp5 cli mode');
    }

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

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


    }
}

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

<?php


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

接着在cmd下输入命令

php think

接着输入

php think test

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

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章